Skip to main content
Loading
Version: Graph 2.2.0

Configuration options

Overviewโ€‹

This page describes how to configure Aerospike Graph Service (AGS), and the available options.

You can specify options with a properties file or with environment variables passed to the Docker image, or both. If you use both, the options are combined when the Docker container starts and AGS uses the environment variables.

Properties file setupโ€‹

To specify configuration options in a properties file, use a file named aerospike-graph.properties. When starting the AGS Docker image, bind your local properties file with the -v option.

For example, if your local properties file is located at /Users/graph-user/conf/aerospike-graph.properties, start the Docker image with the command:

docker run -p8182:8182 -v \
/Users/graph-user/conf/aerospike-graph.properties:/opt/aerospike-graph/aerospike-graph.properties \
aerospike/aerospike-graph-service

Specify configuration options with the format OPTION=VALUE. The following is an example of a aerospike-graph.properties file:

aerospike.client.host=172.17.0.2
aerospike.client.port=3000
aerospike.client.namespace=test
aerospike.graph-service.heap.max=16g

Configuration optionsโ€‹

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's words for Graph setup.

  • Options in the aerospike.graph.* group specify details of your graph database setup.

  • Options in the aerospike.graphloader.* group configure the Aerospike Bulk Loader.

The following configuration options are available:

aerospike.client.* optionsโ€‹

Option: 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.


Option: 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.


Option: 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.


Option: aerospike.client.namespaceโ€‹

Default: test
Allowable values: String values. Must match an existing Aerospike namespace.
Namespace to use for storage of graph data.

note

This namespace must already exist on the Aerospike database cluster before starting AGS.


Option: 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.


Option: aerospike.client.policy.write.socketTimeoutโ€‹

Default: 500
Allowable values: Integer values.
Time in milliseconds before a socket timeout occurs during write operations. Pass through option for the Aerospike Java Client.


Option: aerospike.client.policy.read.socketTimeoutโ€‹

Default: 50
Allowable values: Integer values.
Time in milliseconds before a socket timeout occurs during read operations. Pass through option for the Aerospike Java Client.


Option: aerospike.client.policy.write.totalTimeoutโ€‹

Default: 2500
Allowable values: Integer values.
Total time in milliseconds before a write operation times out. Pass through option for the Aerospike Java Client.


Option: aerospike.client.policy.read.totalTimeoutโ€‹

Default:
Allowable values: Integer values.
Total time in milliseconds before a read operation times out. Pass through option for the Aerospike Java Client.


Option: aerospike.client.policy.write.sleepBetweenRetryโ€‹

Default: 500
Allowable values: Integer values.
Time in milliseconds to wait between retries of failed write operations. Pass through option for the Aerospike Java Client.


Option: aerospike.client.policy.read.sleepBetweenRetryโ€‹

Default: 0
Allowable values: Integer values.
Time in milliseconds to wait between retries of failed read operations. Pass through option for the Aerospike Java Client.


Option: 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.


Option: aerospike.client.socket.timeoutโ€‹

Default: 1200000 (20 minutes)
Allowable values: Integer values.
The timeout, in milliseconds, for each individual page of reocords to be read. The time allowed includes both scanning and secondary index pagination queries.


Option: aerospike.client.tlsโ€‹

Default: false
Allowable values: true, false
Enable TLS.


Option: aerospike.client.userโ€‹

Default: none
Allowable values: String values. Must match a user configured for the Aerospike database intance.
Username to use when connecting to the Aerospike cluster if login security is enabled.


aerospike.graph-service.* optionsโ€‹

Option: aerospike.graph-service.auth.jwt.algorithmโ€‹

Default: HMAC256
Allowable values: HMAC256, HMAC384, HMAC512
Hashing algorithm to use with role-based access control for AGS.

note

The HMAC256 algorithm is representative as the token value HS256.


Option: 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 with role-based access control for AGS.


Option: aerospike.graph-service.auth.jwt.secretโ€‹

Default: none
Allowable values: String values.
Secret token to use with role-based access control for AGS.


Option: aerospike.graph-service.evaluationTimeoutโ€‹

Default: 30000
Allowable values: Integer values.
Time in milliseconds to wait for a request (script or bytecode) to complete execution.


Option: aerospike.graph-service.gremlinPoolโ€‹

Default: 0, indicating that the value is set to the number of available processors.
Allowable values: Integer values.
Size of the Gremlin thread pool. This pool handles Gremlin script execution and other related long-running processing jobs.


Option: 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


Option: 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.


Option: aerospike.graph-service.idleConnectionTimeoutโ€‹

Default: 0, indicating that feature is turned off.
Allowable values: Integer values.
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.

note

This value is given in milliseconds, but it resolves to second precision.


Option: aerospike.graph-service.keepAliveIntervalโ€‹

Default: 0, indicating that feature is turned off.
Allowable values: Integer values.
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.

note

This value is given in milliseconds, but it resolves to second precision.


Option: aerospike.graph-service.portโ€‹

Default: 8182
Allowable values: Integer values in the allowable port range.
Port to bind the AGS server to. Drivers connecting to AGS must use this port.


Option: aerospike.graph-service.threadPoolWorkerโ€‹

Default: 1
Allowable values: Integer values.
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โ€‹


Option: aerospike.graph.client.policy.connectTimeoutโ€‹

Default: 0
Allowable values: integer
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.


Option: aerospike.graph.client.policy.maxErrorRateโ€‹

Default: 100
Allowable values: integer
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.


Option: aerospike.graph.client.policy.timeoutDelayโ€‹

Default: 2000
Allowable values: integer
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.


Option: 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.


Option: aerospike.graph.index.vertex.label.enabledโ€‹

Default: false
Allowable values: true, false
Enable indexing of vertex labels.


Option: aerospike.graph.index.vertex.propertiesโ€‹

Default: none
Allowable values: Any string.
Comma-delimited list of vertex properties to create an index on.


Option: 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.


Option: aerospike.graph.healthcheck.pathโ€‹

Default: /healthcheck
Allowable values: Any URI-compatible string. URI path of the health check server used by Kubernetes.


Option: aerospike.graph.pagination.page.queue.sizeโ€‹

Default: 10
Allowable values: Integer values.
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.


Option: aerospike.graph.pagination.page.sizeโ€‹

Default: 2048
Allowable values: Integer values.
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.


Option: aerospike.graph.prometheus.pathโ€‹

Default: /metrics
Allowable values: Any URI-compatible string. URI path of the Prometheus web interface.


Option: aerospike.graph.summary.enabledโ€‹

Default: true
Allowable values: true, false
Enable summary metadata for AGS.


Option: aerospike.graph.summary.ticker.enabledโ€‹

Default: true
Allowable values: true, false
Enable AGS summary metadata ticker.


Option: aerospike.graph.ttl.enabledโ€‹

Default: false
Allowable values: true, false
Enable TTL (time to live) for edges and vertices.


aerospike.graphloader.* optionsโ€‹

Option: 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.


Option: 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.


Option: 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.


Option: 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.


Option: 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.


Option: aerospike.graphloader.sampling-percentageโ€‹

Default: 0
Allowable values: Integer values.
Specifies a percentage of the input data to be sampled to verify that the bulk loading job was successful.


Option: 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.


Option: 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.


Option: aerospike.graphloader.gcs-emailโ€‹

Default: none
Allowable values: String values.
GCS only. Populate with your GCS CLIENT_EMAIL value.