Configuration options
This page contains a complete list of configuration options for Aerospike Graph Service (AGS). For help with specifying configuration options for an AGS deployment, see Configuring.
Configuration options are organized into the following groups:
-
Options in the
aerospike.client.*
group specify details of AGS’s Aerospike client configuration and network setup. -
Options in the
aerospike.graph-service.*
group specify details of your AGS configuration. -
Options in the
aerospike.graph.*
group specify details of your graph database setup. -
Options in the
aerospike.graphloader.*
group configure the Aerospike Bulk Loader. -
Options in the
<name>.aerospike.graph.*
group are for a specified graph in a multi-tenant AGS server. Replace<name>
with the name of the graph to configure. To specify a list of graphs in a multi-tenant AGS server, use theaerospike.graph-service.graphs
option.
The following configuration options are available:
aerospike.client.* options
These options specify details of AGS’s Aerospike client configuration and network setup.
aerospike.client.auth.mode
Default: INTERNAL
Allowable values: EXTERNAL
, EXTERNAL_INSECURE
, INTERNAL
, PKI
EXTERNAL
: Use external authentication (like LDAP) when username/password are defined.
EXTERNAL_INSECURE
: Use external authentication (like LDAP) when username/password are defined.
INTERNAL
: Use internal authentication when username/password are defined.
PKI
: Authentication and authorization based on a certificate.
aerospike.client.clientPolicy.maxConnsPerNode
Default: 2 * ((2 * gremlinPool) + 14)
, where gremlinPool
= value of aerospike.graph-service.gremlinPool
Allowable values: Positive integers.
The maximum number of connections per Aerospike node that AGS can use for executing concurrent queries.
aerospike.client.clientPolicy.minConnsPerNode
Default: (2 * gremlinPool) + 14
, where gremlinPool
= value of aerospike.graph-service.gremlinPool
Allowable values: Positive integers fom 1 to maxConnsPerNode
.
The minimum number of connections per Aerospike node that AGS can use
for executing concurrent queries. If connections are unused and minConnsPerNode
is less than maxConnsPerNode
, the client connecting to Aerospike may remove
the unused connections.
aerospike.client.cluster.name
Default: none
Allowable values: String values.
Name of a running Aerospike Database cluster. If set, this value
validates that the cluster which AGS connects to matches the configuration.
aerospike.client.host
Default: localhost:3000
Allowable values: Any string that follows <host>:<port>
format.
Accessible address of one or more Aerospike seed nodes, specified as
<host>:<port>
in a comma-separated list.
aerospike.client.namespace
Default: test
Allowable values: String values. Must match an existing Aerospike namespace.
Namespace to use for storage of graph data.
aerospike.client.password
Default: none
Allowable values: String values. Must match Aerospike password for specified user.
Password to use when connecting to the Aerospike cluster if login security
is enabled.
aerospike.client.policy.read.socketTimeout
Default: 50
Allowable values: Positive integers.
For single record and batch record reads: Time in milliseconds before a socket timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.scan.socketTimeout
Default: 1200000
Allowable values: Positive integers.
For scan queries: time in milliseconds before a socket timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.index.socketTimeout
Default: 1200000
Allowable values: Positive integers.
For index queries: time in milliseconds before a socket timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.write.socketTimeout
Default: 500
Allowable values: Positive integers.
For record writes: Time in milliseconds before a socket timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.read.totalTimeout
Default: 150
Allowable values: Positive integers.
For single record and batch record reads: Total time in milliseconds before a timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.scan.totalTimeout
Default: 0 (defaults to aerospike.client.policy.scan.socketTimeout
)
Allowable values: Positive integers.
For scan queries: total time in milliseconds before a timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.index.totalTimeout
Default: 0 (defaults to aerospike.client.policy.index.socketTimeout
)
Allowable values: Positive integers.
For index queries: total time in milliseconds before a timeout occurs.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.write.sleepBetweenRetry
Default: 500
Allowable values: Positive integers.
Time in milliseconds to wait between retries of failed write operations.
Pass through option for the Aerospike Java Client.
aerospike.client.policy.read.sleepBetweenRetry
Default: 0
Allowable values: Positive integers.
Time in milliseconds to wait between retries of failed read operations. Applies to scans, indexes, single record, and batch record reads.
Pass through option for the Aerospike Java Client.
aerospike.client.port
Default: 3000
Allowable values: Positive integers.
Port number of an Aerospike seed node.
aerospike.client.services.alternate
Default: false
Allowable values: true
, false
AGS uses services-alternate
instead of services
in its info request during cluster
tending. services-alternate
returns server-configured external IP addresses that
AGS clients use to talk to nodes. services-alternate
can be used in place of
providing a client ipMap
.
aerospike.client.tls
Default: false
Allowable values: true
, false
Enable TLS.
aerospike.client.user
Default: none
Allowable values: String values. Must match a user configured for the Aerospike
database instance.
Username to use when connecting to the Aerospike cluster if login security
is enabled.
aerospike.graph-service.* options
These options specify details of your AGS configuration.
aerospike.graph-service.auth.jwt.algorithm
Default: HMAC256
Allowable values: HMAC256
, HMAC384
, HMAC512
Hashing algorithm to use with role-based access control for AGS.
aerospike.graph-service.auth.jwt.issuer
Default: none
Allowable values: Your organization or a third-party authentication service.
The issuer of Java web tokens (JWT) for use with
role-based access control for AGS.
aerospike.graph-service.auth.jwt.secret
Default: none
Allowable values: String values.
Secret token to use with role-based access control for AGS.
aerospike.graph-service.evaluationTimeout
Default: 30000
Allowable values: Positive integers.
Time in milliseconds to wait for a request (script or bytecode) to complete execution.
aerospike.graph-service.gremlinPool
Default: The number of available processors x 4
Allowable values: Positive integers.
Size of the Gremlin thread pool. This pool handles Gremlin script execution and other
related long-running processing jobs.
aerospike.graph-service.heap.max
Default: 80% of available system memory
Allowable values: Integer followed by unit (g
for gigabytes or m
for megabytes)
Maximum amount of memory to allocate to the graph service. Examples: 8192m
, 4g
aerospike.graph-service.heap.min
Default: none
Allowable values: Integer followed by unit (g
for gigabytes or m
for megabytes)
Minimum amount of memory to allocate to the graph service.
aerospike.graph-service.idleConnectionTimeout
Default: 0
, indicating that feature is turned off.
Allowable values: Positive integers.
Time in milliseconds that the server allows a channel to receive no
requests from a client before it automatically closes. If enabled,
the value provided must exceed the amount of time given
to the configuration option aerospike.graph-service.keepAliveInterval
.
aerospike.graph-service.keepAliveInterval
Default: 0
, indicating that feature is turned off.
Allowable values: Positive integers.
Time in milliseconds that the server allows a channel to send no
responses to a client before it sends a “ping” to see if the channel is
still present. If it is present, the client should respond with a “pong”
which resets the aerospike.graph-service.idleConnectionTimeout
and keeps
the channel open. If enabled, the value assigned to this option must be
smaller than the value provided to the option aerospike.graph-service.idleConnectionTimeout
.
aerospike.graph-service.graphs
Default: none
Allowable values: String values
Comma-separated list of graph names for multi-tenant functionality.
Graph names must contain alphanumeric values, with no special characters except -
and _
.
aerospike.graph-service.port
Default: 8182
Allowable values: Positive integers in the allowable port range.
Port to bind the AGS server to. Drivers connecting to AGS must use this port.
aerospike.graph-service.threadPoolWorker
Default: CPU count / 2
Allowable values: Positive integers.
This value must not exceed 2 * number of cores. A worker thread performs
non-blocking read and write operations for one or more channels in a non-blocking mode.
aerospike.graph.* options
These options specify details of your graph database setup.
aerospike.graph.audit.log.enabled
Default: false
Allowable values: true
, false
Create a log of user actions on the AGS instance. Logged actions include:
- Write operations
- Delete operations
- Call step executions
Each log line records the user and the action performed.
Before enabling this option, you must enable role-based access control for the AGS instance.
aerospike.graph.mrt.enabled
Default: false
Allowable values: true
, false
Set to true
to enable AGS transactions transactions.
aerospike.graph.mrt.timeout
Default: Aerospike client timeout value Allowable values: Integer values between 1 and 120 Optional timeout, in seconds, for AGS transactions.
aerospike.graph.query-tracing.opentelemetry-host
Default: localhost
Allowable values: IP addresses
Host IP for query tracing with Zipkin. On Linux systems, you can use 172.17.0.1
for adjacent Docker containers.
aerospike.graph.query-tracing.opentelemetry-port
Default: 9411
Allowable values: Positive integer values
Port number for query tracing with Zipkin.
aerospike.graph.query-tracing.sampling-percentage
Default: 100
Allowable values: Integer values 1-100
Percentage from 1-100 of queries that exceed the slow query tracing threshold
(aerospike.graph.query-tracing.threshold-ms
) that will be traced.
aerospike.graph.query-tracing.threshold-ms
Default: -1 (disabled)
Allowable values: Positive integer values
Threshold in ms above which queries are traced.
aerospike.graph.script-logging.redact-literals
Default: false
Allowable values: true
, false
When enabled, sensitive or literal data within queries (such as IDs, labels, etc) are redacted from the logs for security and privacy reasons.
aerospike.client.policy.index.connectTimeout
Default: 0
Allowable values: integer
For index queries: time interval to allow a client connection to try to connect before timing out.
Set to 0 for no timeout limit. Pass through option for the Aerospike Java Client.
See API documentation.
aerospike.client.policy.scan.connectTimeout
Default: 0
Allowable values: integer
For scan queries: time interval to allow a client connection to try to connect before timing out.
Set to 0 for no timeout limit. Pass through option for the Aerospike Java Client.
See API documentation.
aerospike.client.clientPolicy.maxErrorRate
Default: 100
Allowable values: integer
For index queries: number of errors per second (such as TCP resets or timeouts and other
network errors) before the client stops trying to connect for the remainder of that 1 second.
If maxErrorRate
is 0, there is no error limit and the exception will never be thrown.
Pass through option for the Aerospike Java Client.
See API documentation.
aerospike.client.policy.index.timeoutDelay
Default: 0
Allowable values: integer
For index queries: time interval to wait after a client times out before returning the connection to the connection pool.
Set to 0 for no timeout delay limit. Pass through option for the Aerospike Java Client.
See API documentation.
aerospike.client.policy.scan.timeoutDelay
Default: 0
Allowable values: integer
For scan queries: time interval to wait after a client times out before returning the connection to the connection pool.
Set to 0 for no timeout delay limit. Pass through option for the Aerospike Java Client.
See API documentation.
aerospike.graph.http.port
Default: 9090
Allowable values: 0 to 65353
Port on which to open the HTTP server for requests. The HTTP server includes Prometheus and the health check.
aerospike.graph.index.vertex.label.enabled
Default: false
Allowable values: true
, false
Enable indexing of vertex labels.
aerospike.graph.index.vertex.properties
Default: none
Allowable values: Any string.
Comma-delimited list of vertex properties to create an index on.
aerospike.graph.log.level
Default: INFO
Allowable values: OFF
, ERROR
, WARN
, INFO
, DEBUG
, TRACE
, ALL
Log level for the AGS instance. Allowable values are in
ascending order of verbosity.
aerospike.graph.healthcheck.path
Default: /healthcheck
Allowable values: Any URI-compatible string.
URI path of the health check server used by Kubernetes.
aerospike.graph.pagination.page.queue.size
Default: 10
Allowable values: Positive integers.
Maximum number of pages to queue up. If this number of pages is queued
up and not being consumed, no more pages will be read until one is consumed.
aerospike.graph.pagination.page.size
Default: 2048
Allowable values: Positive integers.
The maximum size of a single page, measured in records. A record can be
a vertex or a pack of edges. Pages are not always this size, but they may
not be larger than this.
aerospike.graph.pagination.shutdown.wait
Default: 0
Allowable values: Positive integers.
If set to a non-zero value, the graph blocks query execution up
to the amount of time specified (in ms) to allow the background reader threads to exit.
If the background thread has not exited after the time specified a force shutdown signal is sent.
If set to zero, the graph sends a shutdown signal and does not block execution.
aerospike.graph.prometheus.path
Default: /metrics
Allowable values: Any URI-compatible string.
URI path of the Prometheus web interface.
aerospike.graph.strategy.cached.adjacent.id.enabled
Default: false
Allowable values: true
, false
Enabling this option provides extremely fast performance of in/out().id()
steps,
but slightly reduces the performance of general in/out()
steps.
You can set this option on an AGS instance that has not yet connected to an Aerospike database. After setting this option, it cannot be changed on an existing dataset.
To update an existing AGS instance to use this option, use the following procedure.
-
Execute the following Gremlin command to remove all data from the graph:
g.V().drop().iterate() -
Set the
aerospike.graph.strategy.cached.adjacent.id.enabled
option totrue
in yourconfig.properties
file and restart the AGS instance. -
Reload your data to the graph.
aerospike.graph.summary.ticker.enabled
Default: true
Allowable values: true
, false
Enable AGS summary metadata ticker.
aerospike.graph.ttl.enabled
Default: false
Allowable values: true
, false
Enable TTL (time to live) for edges and vertices.
aerospike.graphloader.* options
These options configure the Aerospike Bulk Loader.
aerospike.graphloader.allowed-bad-edges-count
Default: none (unlimited)
Allowable values: Positive integers.
Allowable number of bulk loader errors involving edges that refer to missing vertex IDs.
Set to 0 for no allowable errors.
aerospike.graphloader.allowed-bad-entry-count
Default: none (unlimited)
Allowable values: Positive integers.
Allowable number of bulk loader errors involving vertices or
edges that have incorrectly typed data.
Set to 0 for no allowable errors.
aerospike.graphloader.allowed-duplicate-vertex-id-count
Default: none (unlimited)
Allowable values: Positive integers.
Allowable number of bulk loader errors involving
vertices that have the same ID and label in the input dataset.
Set to 0 for no allowable errors.
aerospike.graphloader.edges
Default: none
Allowable values: String values.
The path to the directory or cloud storage location where CSV files
containing edge data are stored.
aerospike.graphloader.vertices
Default: none
Allowable values: String values.
The path to the directory or cloud storage location where CSV files
containing vertex data are stored.
aerospike.graphloader.sampling-percentage
Default: 0
Allowable values: Floating-point values between 0.1 and 100.
Specifies a percentage of the input data to be sampled to verify
that the bulk loading job was successful.
aerospike.graphloader.remote-passkey
Default: none
Allowable values: String values.
For AWS: your AWS_SECRET_ACCESS_KEY_ID
value.
For GCS: your PRIVATE_KEY
value.
aerospike.graphloader.remote-user
Default: none
Allowable values: String values.
For AWS: your AWS_ACCESS_KEY_ID
value.
For GCS: your PRIVATE_KEY_ID
value.
aerospike.graphloader.gcs-email
Default: none
Allowable values: String values.
GCS only. Populate with your GCS CLIENT_EMAIL
value.
aerospike.graphloader.supernode.sampling-percentage
Default: none
Allowable values: Floating-point values between 0 and 1.0.
Percentage of dataset to sample for supernode calculation. See
supernodes for details.
<name>.aerospike.graph.* options
These options are for a specified graph in a multi-tenant
AGS server. Replace <name>
with the name of the graph to configure. To specify
a list of graphs in a multi-tenant AGS server, use the
aerospike.graph-service.graphs
option.
Option: <name>.aerospike.graph.traversal
Default: g<name>
Allowable values: Alphanumeric values, no special characters except -
and _
.
User-supplied traversal name of a multi-tenant graph.
A multi-tenant graph’s traversal name must be different from its graph name and must
not begin with a number.