ArangoDB Server Options

The startup options of the arangod executable

Usage: arangod [<options>]

To list the commonly used startup options with a description of each option, run the server executable in a command-line with the --help (or -h) option:

arangod --help

To list all available startup options and their descriptions, use:

arangod --help-all

You can specify the database directory for the server as a positional (unnamed) parameter:

arangod /path/to/datadir

You can also be explicit by using a named parameter:

arangod --database.directory /path/to/datadir

All other startup options need to be passed as named parameters, using two hyphens (--), followed by the option name, an equals sign (=) or a space, and the option value. The value needs to be wrapped in double quote marks (") if the value contains whitespace characters. Extra whitespace around = is allowed:

arangod --database.directory = "/path with spaces/to/datadir"

See Configuration if you want to translate startup options set to configuration files and to learn more about startup options in general.

See Fetch Current Configuration Options if you want to query the arangod server for the current settings at runtime.

General

--check-configuration

Type: boolean

Check the configuration and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--config

Type: string

The configuration file or “none”.


--configuration

Type: string

The configuration file or “none”.


--console

Type: boolean

Start the server with a JavaScript emergency console.

This option can be specified without a value to enable it.

Show details

--daemon

Type: boolean

Start the server as a daemon (background process). Requires --pid-file to be set.

This option can be specified without a value to enable it.

Available on Linux and macOS only.


--default-language

Deprecated in: v3.10.0

Type: string

An ISO-639 language code. You can only set this option once, when initializing the database.

Show details

--default-language-check

Introduced in: v3.8.0

Type: boolean

Check if --icu-language / --default-language matches the stored language.

This option can be specified without a value to enable it.

Default: true


--define

Type: string…

Define a value for a @key@ entry in the configuration file using the syntax "key=value".


--dump-dependencies

Type: boolean

Dump the dependency graph of the feature phases (internal) and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--dump-options

Type: boolean

Dump all available startup options in JSON format and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--fortune

Type: boolean

Show a fortune cookie on startup.

This option can be specified without a value to enable it.


--gid

Type: string

Switch to this group ID after reading configuration files.

Show details

--hund

Type: boolean

Make ArangoDB bark on startup.

This option can be specified without a value to enable it.


--icu-language

Introduced in: v3.9.1

Type: string

An ICU locale ID to set a language and optionally additional properties that affect string comparisons and sorting. You can only set this option once, when initializing the database.

Show details

--log

Deprecated in: v3.5.0

Type: string…

Set the topic-specific log level, using --log level for the general topic or --log topic=level for the specified topic (can be specified multiple times). Available log levels: fatal, error, warning, info, debug, trace.

Default: info


--pid-file

Type: string

The name of the process ID file to use if the server runs as a daemon.

Available on Linux and macOS only.


--supervisor

Type: boolean

Start the server in supervisor mode. Requires --pid-file to be set.

This option can be specified without a value to enable it.

Show details

--uid

Type: string

Switch to this user ID after reading the configuration files.

Show details

--use-splice-syscall

Introduced in: v3.9.4

Type: boolean

Use the splice() syscall for file copying (may not be supported on all filesystems).

This option can be specified without a value to enable it.

Default: true

Available on Linux only.

Show details

--version

Type: boolean

Print the version and other related information, then exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--version-json

Introduced in: v3.9.0

Type: boolean

Print the version and other related information in JSON format, then exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--working-directory

Type: string

The working directory in daemon mode.

Default: /var/tmp

Available on Linux and macOS only.


agency

--agency.activate

Type: boolean

Activate the Agency.

This option can be specified without a value to enable it.

Effective on Agents only.


--agency.compaction-keep-size

Type: uint64

Keep as many Agency log entries before compaction point.

Default: 50000

Effective on Agents only.


--agency.compaction-step-size

Type: uint64

The step size between state machine compactions.

Default: 1000

Effective on Agents only.


--agency.disaster-recovery-id

Type: string

Specify the ID for this agent. WARNING: This is a dangerous option, for disaster recover only!

Effective on Agents only.


--agency.election-timeout-max

Type: double

The maximum timeout before an Agent calls for a new election (in seconds).

Default: 5

Effective on Agents only.


--agency.election-timeout-min

Type: double

The minimum timeout before an Agent calls for a new election (in seconds).

Default: 1

Effective on Agents only.


--agency.endpoint

Type: string…

The Agency endpoints.

Effective on Agents only.


--agency.max-append-size

Type: uint64

The maximum size of appendEntries document (number of log entries).

Default: 250

Effective on Agents only.


--agency.my-address

Type: string

Which address to advertise to the outside.

Effective on Agents only.


--agency.pool-size

Deprecated in: v3.11.0

Type: uint64

The number of Agents in the pool.

Default: 1

Effective on Agents only.


--agency.size

Type: uint64

The number of Agents.

Default: 1

Effective on Agents only.


--agency.supervision

Type: boolean

Perform ArangoDB cluster supervision.

This option can be specified without a value to enable it.

Effective on Agents only.


--agency.supervision-delay-add-follower

Introduced in: v3.9.6, v3.10.2

Type: uint64

The delay in supervision, before an AddFollower job is executed (in seconds).

Effective on Agents only.


--agency.supervision-delay-failed-follower

Introduced in: v3.9.6, v3.10.2

Type: uint64

The delay in supervision, before a FailedFollower job is executed (in seconds).

Effective on Agents only.


--agency.supervision-failed-leader-adds-follower

Introduced in: v3.9.7, v3.10.2

Type: boolean

Flag indicating whether or not the FailedLeader job adds a new follower.

This option can be specified without a value to enable it.

Default: true

Effective on Agents only.


--agency.supervision-frequency

Type: double

The ArangoDB cluster supervision frequency (in seconds).

Default: 1

Effective on Agents only.


--agency.supervision-grace-period

Type: double

The supervision time after which a server is considered to have failed (in seconds).

Default: 10

Effective on Agents only.

Show details

--agency.supervision-ok-threshold

Type: double

The supervision time after which a server is considered to be bad (in seconds).

Default: 5

Effective on Agents only.


--agency.wait-for-sync

Type: boolean

Wait for hard disk syncs on every persistence call (required in production).

This option can be specified without a value to enable it.

Default: true

Effective on Agents only.


arangosearch

--arangosearch.columns-cache-limit

Introduced in: v3.9.5

Enterprise Edition only

Type: uint64

The limit (in bytes) for ArangoSearch columns cache (0 = no caching).


--arangosearch.columns-cache-only-leader

Introduced in: v3.10.6

Enterprise Edition only

Type: boolean

Cache ArangoSearch columns only for leader shards.

This option can be specified without a value to enable it.


--arangosearch.commit-threads

Introduced in: v3.7.5

Type: uint32

The upper limit to the allowed number of commit threads (0 = auto-detect).

Show details

--arangosearch.commit-threads-idle

Introduced in: v3.7.5

Type: uint32

The upper limit to the allowed number of idle threads to use for commit tasks (0 = auto-detect)

Show details

--arangosearch.consolidation-threads

Introduced in: v3.7.5

Type: uint32

The upper limit to the allowed number of consolidation threads (0 = auto-detect).

Show details

--arangosearch.consolidation-threads-idle

Introduced in: v3.7.5

Type: uint32

The upper limit to the allowed number of idle threads to use for consolidation tasks (0 = auto-detect).


--arangosearch.default-parallelism

Introduced in: v3.11.6

Type: uint32

Default parallelism for ArangoSearch queries

Default: 1


--arangosearch.execution-threads-limit

Introduced in: v3.11.6

Type: uint32

Max number of threads that could be used to process ArangoSearch indexes during SEARCH operation


--arangosearch.fail-queries-on-out-of-sync

Introduced in: v3.9.4

Type: boolean

Whether retrieval queries on out-of-sync View links and inverted indexes should fail.

This option can be specified without a value to enable it.

Show details

--arangosearch.skip-recovery

Introduced in: v3.9.4

Type: string…

Skip the data recovery for the specified View link or inverted index on startup. The value for this option needs to have the format ‘/’ or ‘/’. You can use the option multiple times, for each View link and inverted index to skip the recovery for. The pseudo-value ‘all’ disables the recovery for all View links and inverted indexes. The links/indexes skipped during the recovery are marked as out-of-sync when the recovery completes. You need to recreate them manually afterwards. WARNING: Using this option causes data of affected links/indexes to become incomplete or more incomplete until they have been manually recreated.


--arangosearch.threads

Deprecated in: v3.7.5

Type: uint32

The exact number of threads to use for asynchronous tasks (0 = auto-detect).

Show details

--arangosearch.threads-limit

Deprecated in: v3.7.5

Type: uint32

The upper limit to the auto-detected number of threads to use for asynchronous tasks (0 = use default).

Show details

audit

--audit.hostname

Enterprise Edition only

Type: string

The server name to be used in audit log messages. By default, the system hostname is used.


--audit.max-entry-length

Introduced in: v3.8.0, v3.7.9

Enterprise Edition only

Type: uint32

The maximum length of a log entry (in bytes).

Default: 134217728

Show details

--audit.output

Enterprise Edition only

Type: string…

Specifies the target(s) of the audit log.

Show details

--audit.queue

Introduced in: v3.8.0

Enterprise Edition only

Type: boolean

Queue audit log messages before writing them out (can reduce latency).

This option can be specified without a value to enable it.

Show details

--audit.write-log-level

Introduced in: v3.9.0

Enterprise Edition only

Type: boolean

Add the log level of the audit event (TRACE, INFO, DEBUG, WARNING, ERROR) to audit log messages.

This option can be specified without a value to enable it.

Show details

backup

--backup.api-enabled

Enterprise Edition only

Type: string

Whether the Hot Backup API is enabled (true) or not (false), or only enabled for superuser JWT (jwt).

Default: true


--backup.files-per-batch

Introduced in: v3.8.8, v3.9.4

Enterprise Edition only

Type: uint64

Define how many files rclone should process in one call when uploading or downloading Hot Backups.

Default: 100

Effective on DB-Servers and Single Servers only.


--backup.local-path-prefix

Enterprise Edition only

Type: string

Restrict any backup target to the given path prefix.

Default: /


--backup.number-parallel-remote-copies

Introduced in: v3.11.4

Enterprise Edition only

Type: uint32

The number of remote-to-remote copy operations to run in parallel when uploading/downloading Hot Backups (0 = use system-specific default of 100)

Effective on DB-Servers and Single Servers only.

Show details

cache

--cache.acceleration-factor-for-edge-compression

Introduced in: v3.11.2

Type: uint32

The acceleration factor for the LZ4 compression of in-memory edge cache entries.

Default: 1

Effective on DB-Servers and Single Servers only.

Show details

--cache.high-water-multiplier

Introduced in: v3.11.3

Type: double

The multiplier to be used for calculating the in-memory cache’s effective memory usage limit.

Default: 0.56

Effective on DB-Servers and Single Servers only.

Show details

--cache.ideal-lower-fill-ratio

Introduced in: v3.11.2

Type: double

The lower bound fill ratio value for a cache table.

Default: 0.04

Effective on DB-Servers and Single Servers only.

Show details

--cache.ideal-upper-fill-ratio

Introduced in: v3.11.2

Type: double

The upper bound fill ratio value for a cache table.

Default: 0.25

Effective on DB-Servers and Single Servers only.

Show details

--cache.max-spare-memory-usage

Introduced in: v3.11.3

Type: uint64

The maximum memory usage for spare tables in the in-memory cache.

Default: 67108864

Effective on DB-Servers and Single Servers only.


--cache.min-value-size-for-edge-compression

Introduced in: v3.11.2

Type: uint64

The size threshold (in bytes) from which on payloads in the edge index cache transparently get LZ4-compressed.

Default: 1073741824

Effective on DB-Servers and Single Servers only.

Show details

--cache.rebalancing-interval

Type: uint64

The time between cache rebalancing attempts (in microseconds). The minimum value is 500000 (0.5 seconds).

Default: 2000000

Show details

--cache.size

Type: uint64

The global size limit for all caches (in bytes).

Default: dynamic (e.g. 7739683840)

Show details

cluster

--cluster.agency-endpoint

Type: string…

Agency endpoint(s) to connect to.

Effective on Coordinators and DB-Servers only.

Show details

--cluster.api-jwt-policy

Introduced in: v3.8.0

Type: string

Controls the access permissions required for accessing /_admin/cluster REST APIs (jwt-all = JWT required to access all operations, jwt-write = JWT required for POST/PUT/DELETE operations, jwt-compat = 3.7 compatibility mode)

Default: jwt-compat

Possible values: “jwt-all”, “jwt-compat”, “jwt-write”

Effective on Coordinators only.

Show details

--cluster.connectivity-check-interval

Introduced in: v3.11.4

Type: uint32

The interval (in seconds) in which cluster-internal connectivity checks are performed.

Default: 3600

Effective on Coordinators and DB-Servers only.

Show details

--cluster.create-waits-for-sync-replication

Type: boolean

Let the active Coordinator wait for all replicas to create collections.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and DB-Servers only.


--cluster.default-replication-factor

Introduced in: v3.6.0

Type: uint32

The default replication factor for non-system collections.

Effective on Coordinators only.

Show details

--cluster.failed-write-concern-status-code

Introduced in: v3.11.0

Type: uint32

The HTTP status code to send if a shard has not enough in-sync replicas to fulfill the write concern.

Default: 403

Possible values: 403, 503

Effective on DB-Servers only.

Show details

--cluster.force-one-shard

Introduced in: v3.6.0

Enterprise Edition only

Type: boolean

Force the OneShard mode for all new collections.

This option can be specified without a value to enable it.

Effective on Coordinators only.

Show details

--cluster.index-create-timeout

Type: double

The amount of time (in seconds) the Coordinator waits for an index to be created before giving up.

Default: 259200

Effective on Coordinators only.


--cluster.max-number-of-move-shards

Introduced in: v3.9.0

Type: uint32

The number of shards to be moved per rebalance operation. If set to 0, no shards are moved.

Default: 10

Effective on Coordinators only.

Show details

--cluster.max-number-of-shards

Introduced in: v3.5.1

Type: uint32

The maximum number of shards that can be configured when creating new collections (0 = unrestricted).

Default: 1000

Effective on Coordinators only.

Show details

--cluster.max-replication-factor

Introduced in: v3.6.0

Type: uint32

The maximum replication factor for new collections (0 = unrestricted).

Default: 10

Effective on Coordinators only.

Show details

--cluster.min-replication-factor

Introduced in: v3.6.0

Type: uint32

The minimum replication factor for new collections.

Default: 1

Effective on Coordinators only.

Show details

--cluster.my-address

Type: string

This server’s endpoint for cluster-internal communication.

Effective on Coordinators and DB-Servers only.

Show details

--cluster.my-advertised-endpoint

Type: string

This server’s advertised endpoint for external communication (optional, e.g. aan external IP address or load balancer).

Effective on Coordinators and DB-Servers only.

Show details

--cluster.my-role

Type: string

This server’s role.

Show details

--cluster.require-persisted-id

Type: boolean

If set to true, then the instance only starts if a UUID file is found in the database directory on startup. This ensures that the instance is started using an already existing database directory and not a new one. For the first start, you must either create the UUID file manually or set the option to false for the initial startup.

This option can be specified without a value to enable it.


--cluster.resign-leadership-on-shutdown

Type: boolean

Create a resign leader ship job for this DB-Server on shutdown.

This option can be specified without a value to enable it.

Effective on DB-Servers only.


--cluster.shard-synchronization-attempt-timeout

Introduced in: v3.9.2

Type: double

The timeout (in seconds) for every shard synchronization attempt. Running into the timeout does not lead to a synchronization failure, but continues the synchronization shortly after. Setting a timeout can help to split the replication of large shards into smaller chunks and release snapshots on the leader earlier.

Default: 1200

Show details

--cluster.synchronous-replication-timeout-factor

Type: double

All synchronous replication timeouts are multiplied by this factor.

Default: 1

Show details

--cluster.synchronous-replication-timeout-maximum

Introduced in: v3.8.0

Type: double

All synchronous replication timeouts are at most this value (in seconds).

Default: 3600

Show details

--cluster.synchronous-replication-timeout-minimum

Introduced in: v3.5.1

Type: double

All synchronous replication timeouts are at least this value (in seconds).

Default: 900

Show details

--cluster.synchronous-replication-timeout-per-4k

Type: double

All synchronous replication timeouts are increased by this amount per 4096 bytes (in seconds).

Default: 0.1

Show details

--cluster.system-replication-factor

Type: uint32

The default replication factor for system collections.

Default: 2

Effective on Coordinators only.

Show details

--cluster.upgrade

Introduced in: v3.6.0

Type: string

Perform a cluster upgrade if necessary (auto = perform an upgrade and shut down only if --database.auto-upgrade true is set, disable = ignore --database.auto-upgrade and never perform an upgrade, force = ignore --database.auto-upgrade and always perform an upgrade and shut down, online = always perform an upgrade but don’t shut down).

Default: auto

Possible values: “auto”, “disable”, “force”, “online”

Effective on Coordinators only.


--cluster.write-concern

Introduced in: v3.6.0

Type: uint32

The global default write concern used for writes to new collections.

Default: 1

Effective on Coordinators only.

Show details

database

--database.auto-upgrade

Type: boolean

Perform a database upgrade if necessary.

This option can be specified without a value to enable it.

Show details

--database.check-version

Type: boolean

Check the version of the database and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--database.directory

Type: string

The path to the database directory.

Default: /var/lib/arangodb3

Show details

--database.extended-names

Introduced in: v3.9.0

Type: boolean

Allow most UTF-8 characters in the names of databases, collections, Views, and indexes. Once in use, this option cannot be turned off again.

This option can be specified without a value to enable it.


--database.ignore-datafile-errors

Type: boolean

Load collections even if datafiles may contain errors.

This option can be specified without a value to enable it.


--database.init-database

Type: boolean

Initialize an empty database.

This is a command, no value needs to be specified. The process terminates after executing the command.


--database.io-heartbeat

Introduced in: v3.8.7, v3.9.2

Type: boolean

Perform I/O heartbeat to test the underlying volume.

This option can be specified without a value to enable it.

Default: true


--database.max-databases

Introduced in: v3.11.2

Type: uint64

The maximum number of databases that can exist in parallel.

Default: 18446744073709552000

Show details

--database.password

Type: string

The initial password of the root user.


--database.required-directory-state

Type: string

The required state of the database directory at startup (non-existing: the database directory must not exist, existing: thedatabase directory must exist, empty: the database directory must exist but be empty, populated: the database directory must exist and contain specific files already, any: any state is allowed)

Default: any

Possible values: “any”, “empty”, “existing”, “non-existing”, “populated”


--database.restore-admin

Type: boolean

Reset the admin users and set a new password.

This is a command, no value needs to be specified. The process terminates after executing the command.


--database.upgrade-check

Type: boolean

Skip the database upgrade if set to false.

This option can be specified without a value to enable it.

Default: true


--database.wait-for-sync

Type: boolean

The default waitForSync behavior. Can be overwritten when creating a collection.

This option can be specified without a value to enable it.


encryption

--encryption.key-generator

Enterprise Edition only

Type: string

A program providing the encryption key on stdout. If set, encryption at rest is enabled.

Show details

--encryption.keyfile

Enterprise Edition only

Type: string

The path to the file that contains the encryption key. Must contain 32 bytes of data. If set, encryption at rest is enabled.

Show details

foxx

--foxx.allow-install-from-remote

Introduced in: v3.8.5

Type: boolean

Allow installing Foxx apps from remote URLs other than GitHub.

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.


--foxx.api

Introduced in: v3.5.0

Type: boolean

Whether to enable the Foxx management REST APIs.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.


--foxx.enable

Introduced in: v3.10.5

Type: boolean

Enable Foxx.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.

Show details

--foxx.force-update-on-startup

Introduced in: v3.6.10, v3.7.6

Type: boolean

Ensure that all Foxx services are synchronized before completing the startup sequence.

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.

Show details

--foxx.queues

Type: boolean

Enable or disable Foxx queues.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.

Show details

--foxx.queues-poll-interval

Type: double

The poll interval for the Foxx queue manager (in seconds)

Default: 1

Effective on Coordinators and Single Servers only.

Show details

--foxx.store

Introduced in: v3.5.0

Type: boolean

Whether to enable the Foxx store in the web interface.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.


http

--http.allow-method-override

Deprecated in: v3.8.0

Type: boolean

Allow HTTP method override using special headers.

This option can be specified without a value to enable it.

Show details

--http.hide-product-header

Deprecated in: v3.8.0

Type: boolean

Whether to omit the Server: ArangoDB header in HTTP responses.

This option can be specified without a value to enable it.


--http.keep-alive-timeout

Type: double

The keep-alive timeout for HTTP connections (in seconds).

Default: 300

Show details

--http.permanently-redirect-root

Introduced in: v3.7.12

Type: boolean

Whether to use a permanent or temporary redirect.

This option can be specified without a value to enable it.

Default: true


--http.redirect-root-to

Introduced in: v3.7.12

Type: string

Redirect of the root URL.

Default: /_admin/aardvark/index.html


--http.return-queue-time-header

Introduced in: v3.9.0

Type: boolean

Whether to return the x-arango-queue-time-seconds header in all responses.

This option can be specified without a value to enable it.

Default: true

Show details

--http.trusted-origin

Type: string…

The trusted origin URLs for CORS requests with credentials.


javascript

--javascript.allow-admin-execute

Type: boolean

For testing purposes, allow /_admin/execute. Never enable this option in production!

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.

Show details

--javascript.allow-external-process-control

Introduced in: v3.5.0

Type: boolean

Allow the execution and control of external processes from within JavaScript actions.

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.


--javascript.allow-port-testing

Introduced in: v3.5.0

Type: boolean

Allow the testing of ports from within JavaScript actions.

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.


--javascript.app-path

Type: string

The directory for Foxx applications.

Default: /var/lib/arangodb3-apps

Effective on Coordinators and Single Servers only.


--javascript.copy-installation

Type: boolean

Copy the contents of javascript.startup-directory on first start.

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.

Show details

--javascript.enabled

Type: boolean

Enable the V8 JavaScript engine.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.

Show details

--javascript.endpoints-allowlist

Introduced in: v3.5.0

Type: string…

Endpoints that can be connected to via the @arangodb/request module in JavaScript actions.

Effective on Coordinators and Single Servers only.


--javascript.endpoints-denylist

Introduced in: v3.5.0

Type: string…

Endpoints that cannot be connected to via the @arangodb/request module in JavaScript actions (if not in the allowlist).

Effective on Coordinators and Single Servers only.


--javascript.environment-variables-allowlist

Introduced in: v3.5.0

Type: string…

Environment variables that are accessible in JavaScript.

Effective on Coordinators and Single Servers only.


--javascript.environment-variables-denylist

Introduced in: v3.5.0

Type: string…

Environment variables that are inaccessible in JavaScript (if not in the allowlist).

Effective on Coordinators and Single Servers only.


--javascript.files-allowlist

Introduced in: v3.5.0

Type: string…

Filesystem paths that are accessible from within JavaScript actions.

Effective on Coordinators and Single Servers only.


--javascript.gc-frequency

Type: double

Time-based garbage collection frequency for JavaScript objects (each x seconds).

Default: 60

Effective on Coordinators and Single Servers only.

Show details

--javascript.gc-interval

Type: uint64

Request-based garbage collection interval for JavaScript objects (each x requests).

Default: 2000

Effective on Coordinators and Single Servers only.


--javascript.harden

Introduced in: v3.5.0

Type: boolean

Disable access to JavaScript functions in the internal module: getPid() and logLevel().

This option can be specified without a value to enable it.

Effective on Coordinators and Single Servers only.


--javascript.module-directory

Type: string…

Additional paths containing JavaScript modules.

Effective on Coordinators and Single Servers only.


--javascript.script

Type: string…

Run the script and exit.


--javascript.script-parameter

Type: string…

Script parameter.


--javascript.startup-directory

Type: string

A path to the directory containing the JavaScript startup scripts.

Default: /usr/share/arangodb3/js

Effective on Coordinators and Single Servers only.


--javascript.startup-options-allowlist

Introduced in: v3.5.0

Type: string…

Startup options whose names match this regular expression are allowed and exposed to JavaScript.

Effective on Coordinators and Single Servers only.


--javascript.startup-options-denylist

Introduced in: v3.5.0

Type: string…

Startup options whose names match this regular expression are not exposed (if not in the allowlist) to JavaScript actions.

Effective on Coordinators and Single Servers only.


--javascript.tasks

Introduced in: v3.8.0

Type: boolean

Enable JavaScript tasks.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.


--javascript.transactions

Introduced in: v3.8.0

Type: boolean

Enable JavaScript transactions.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.


--javascript.user-defined-functions

Introduced in: v3.10.4

Type: boolean

Enable JavaScript user-defined functions (UDFs) in AQL queries.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.


--javascript.v8-contexts

Type: uint64

The maximum number of V8 contexts that are created for executing JavaScript actions.

Effective on Coordinators and Single Servers only.

Show details

--javascript.v8-contexts-max-age

Type: double

The maximum age for each V8 context (in seconds) before it is disposed.

Default: 60

Effective on Coordinators and Single Servers only.

Show details

--javascript.v8-contexts-max-invocations

Type: uint64

The maximum number of invocations for each V8 context before it is disposed (0 = unlimited).

Effective on Coordinators and Single Servers only.


--javascript.v8-contexts-minimum

Type: uint64

The minimum number of V8 contexts to keep available for executing JavaScript actions.

Effective on Coordinators and Single Servers only.

Show details

--javascript.v8-max-heap

Type: uint64

The maximal heap size (in MiB).

Default: 3072


--javascript.v8-options

Type: string…

Options to pass to V8.

Show details

ldap

--ldap.allow-offline

Enterprise Edition only

Type: boolean

If a refresh attempt fails to connect to the LDAP server, continue with the cached authentication data.

This option can be specified without a value to enable it.


--ldap.async-connect

Enterprise Edition only

Type: boolean

Whether the connection to the LDAP library is done asynchronously.

This option can be specified without a value to enable it.


--ldap.basedn

Enterprise Edition only

Type: string

LDAP basedn. Example: “dc=example,dc=com”


--ldap.binddn

Enterprise Edition only

Type: string

LDAP binddn. Example: “cn=admin,dc=example,dc=com”


--ldap.bindpasswd

Enterprise Edition only

Type: string

LDAP bindpassword. Example: “admin”


--ldap.debug

Enterprise Edition only

Type: boolean

Turn on the internal OpenLDAP library output (warning: prints to stdout).

This option can be specified without a value to enable it.


--ldap.enabled

Enterprise Edition only

Type: boolean

Enable LDAP.

This option can be specified without a value to enable it.


--ldap.network-timeout

Enterprise Edition only

Type: double

Timeout value (in seconds) after which network operations following the initial connection return in case of no activity (0 = default timeout).


--ldap.port

Enterprise Edition only

Type: uint16

The port to use.

Default: 389


--ldap.prefix

Enterprise Edition only

Type: string

LDAP prefix. Example: “uid= xor dn= xor cn=”


--ldap.referrals

Enterprise Edition only

Type: boolean

Whether the LDAP library should implicitly chase referrals.

This option can be specified without a value to enable it.


--ldap.refresh-rate

Enterprise Edition only

Type: double

Refresh user settings after this time (in seconds).

Default: 300


--ldap.responsible-for

Introduced in: v3.7.11

Enterprise Edition only

Type: string

A file of usernames this provider is responsible for. If empty, it is responsible for all users.


--ldap.restart

Enterprise Edition only

Type: boolean

Whether the LDAP library should implicitly restart connections.

This option can be specified without a value to enable it.


--ldap.retries

Enterprise Edition only

Type: uint32

The number of tries to attempt connecting to the LDAP server. Setting it to values greater than 1 retries connecting in case the LDAP server is unavailable or denies the connection.

Default: 1


--ldap.roles-attribute-name

Enterprise Edition only

Type: string

LDAP attributename where the roles are located.


--ldap.roles-exclude

Enterprise Edition only

Type: string

Regular expression to exclude groups. Leave empty to exclude none.


--ldap.roles-include

Enterprise Edition only

Type: string

Regular expression to include groups. Leave empty to include all.


Enterprise Edition only

Type: string

LDAP search for roles; ‘{USER}’ is replaced by the ‘dn’ of the user.


--ldap.roles-transformation

Enterprise Edition only

Type: string…

Regular expression to normalizer role name. Example: ‘/^ (.[^ ]])*/$2/’


--ldap.search-attribute

Enterprise Edition only

Type: string

LDAP search attribute: Example: “uid”

Default: uid


--ldap.search-filter

Enterprise Edition only

Type: string

LDAP search filter. Example: “(objectClass=simpleSecurityObject)”

Default: objectClass=*


--ldap.search-scope

Enterprise Edition only

Type: string

LDAP search scope, one of: base, one, sub

Default: sub


--ldap.serialize-timeout

Enterprise Edition only

Type: double

Maximum amount of time (in seconds) to wait for the serialization mutex.

Default: 5


--ldap.serialized

Enterprise Edition only

Type: boolean

Whether calls into the LDAP library should be serialized. You can use this option to work around thread-unsafe LDAP library functionality.

This option can be specified without a value to enable it.


--ldap.server

Enterprise Edition only

Type: string

The server to use.


--ldap.suffix

Enterprise Edition only

Type: string

LDAP suffix. Example: “,dc=example,dc=com”


--ldap.superuser-role

Enterprise Edition only

Type: string

Role mapping to the super-users.


--ldap.timeout

Enterprise Edition only

Type: double

Timeout value (in seconds) for synchronous LDAP API calls (0 = default timeout).


--ldap.tls

Enterprise Edition only

Type: boolean

Enable TLS.

This option can be specified without a value to enable it.


--ldap.tls-cacert-dir

Enterprise Edition only

Type: string

LDAP TLS CA certificate directory.


--ldap.tls-cacert-file

Enterprise Edition only

Type: string

LDAP TLS CA certificate file.


--ldap.tls-cert-check-strategy

Enterprise Edition only

Type: string

LDAP TLS certificate check strategy, one of: never, hard, demand, allow, try

Default: hard


--ldap.tls-version

Enterprise Edition only

Type: string

LDAP TLS version, one of: 1.0, 1.1, 1.2

Default: 1.2


--ldap.url

Enterprise Edition only

Type: string

The LDAP URL. Example: ldap://example.com:389/dc=example,dc=com?uid?sub


ldap2

--ldap2.allow-offline

Enterprise Edition only

Type: boolean

If a refresh attempt fails to connect to the LDAP server, continue with the cached authentication data.

This option can be specified without a value to enable it.


--ldap2.async-connect

Enterprise Edition only

Type: boolean

Whether the connection to the LDAP library is done asynchronously.

This option can be specified without a value to enable it.


--ldap2.basedn

Enterprise Edition only

Type: string

LDAP basedn. Example: “dc=example,dc=com”


--ldap2.binddn

Enterprise Edition only

Type: string

LDAP binddn. Example: “cn=admin,dc=example,dc=com”


--ldap2.bindpasswd

Enterprise Edition only

Type: string

LDAP bindpassword. Example: “admin”


--ldap2.debug

Enterprise Edition only

Type: boolean

Turn on the internal OpenLDAP library output (warning: prints to stdout).

This option can be specified without a value to enable it.


--ldap2.enabled

Enterprise Edition only

Type: boolean

Enable LDAP.

This option can be specified without a value to enable it.


--ldap2.network-timeout

Enterprise Edition only

Type: double

Timeout value (in seconds) after which network operations following the initial connection return in case of no activity (0 = default timeout).


--ldap2.port

Enterprise Edition only

Type: uint16

The port to use.

Default: 389


--ldap2.prefix

Enterprise Edition only

Type: string

LDAP prefix. Example: “uid= xor dn= xor cn=”


--ldap2.referrals

Enterprise Edition only

Type: boolean

Whether the LDAP library should implicitly chase referrals.

This option can be specified without a value to enable it.


--ldap2.refresh-rate

Enterprise Edition only

Type: double

Refresh user settings after this time (in seconds).

Default: 300


--ldap2.responsible-for

Introduced in: v3.7.11

Enterprise Edition only

Type: string

A file of usernames this provider is responsible for. If empty, it is responsible for all users.


--ldap2.restart

Enterprise Edition only

Type: boolean

Whether the LDAP library should implicitly restart connections.

This option can be specified without a value to enable it.


--ldap2.retries

Enterprise Edition only

Type: uint32

The number of tries to attempt connecting to the LDAP server. Setting it to values greater than 1 retries connecting in case the LDAP server is unavailable or denies the connection.

Default: 1


--ldap2.roles-attribute-name

Enterprise Edition only

Type: string

LDAP attributename where the roles are located.


--ldap2.roles-exclude

Enterprise Edition only

Type: string

Regular expression to exclude groups. Leave empty to exclude none.


--ldap2.roles-include

Enterprise Edition only

Type: string

Regular expression to include groups. Leave empty to include all.


Enterprise Edition only

Type: string

LDAP search for roles; ‘{USER}’ is replaced by the ‘dn’ of the user.


--ldap2.roles-transformation

Enterprise Edition only

Type: string…

Regular expression to normalizer role name. Example: ‘/^ (.[^ ]])*/$2/’


--ldap2.search-attribute

Enterprise Edition only

Type: string

LDAP search attribute: Example: “uid”

Default: uid


--ldap2.search-filter

Enterprise Edition only

Type: string

LDAP search filter. Example: “(objectClass=simpleSecurityObject)”

Default: objectClass=*


--ldap2.search-scope

Enterprise Edition only

Type: string

LDAP search scope, one of: base, one, sub

Default: sub


--ldap2.serialize-timeout

Enterprise Edition only

Type: double

Maximum amount of time (in seconds) to wait for the serialization mutex.

Default: 5


--ldap2.serialized

Enterprise Edition only

Type: boolean

Whether calls into the LDAP library should be serialized. You can use this option to work around thread-unsafe LDAP library functionality.

This option can be specified without a value to enable it.


--ldap2.server

Enterprise Edition only

Type: string

The server to use.


--ldap2.suffix

Enterprise Edition only

Type: string

LDAP suffix. Example: “,dc=example,dc=com”


--ldap2.superuser-role

Enterprise Edition only

Type: string

Role mapping to the super-users.


--ldap2.timeout

Enterprise Edition only

Type: double

Timeout value (in seconds) for synchronous LDAP API calls (0 = default timeout).


--ldap2.tls

Enterprise Edition only

Type: boolean

Enable TLS.

This option can be specified without a value to enable it.


--ldap2.tls-cacert-dir

Enterprise Edition only

Type: string

LDAP TLS CA certificate directory.


--ldap2.tls-cacert-file

Enterprise Edition only

Type: string

LDAP TLS CA certificate file.


--ldap2.tls-cert-check-strategy

Enterprise Edition only

Type: string

LDAP TLS certificate check strategy, one of: never, hard, demand, allow, try

Default: hard


--ldap2.tls-version

Enterprise Edition only

Type: string

LDAP TLS version, one of: 1.0, 1.1, 1.2

Default: 1.2


--ldap2.url

Enterprise Edition only

Type: string

The LDAP URL. Example: ldap://example.com:389/dc=example,dc=com?uid?sub


log

--log.api-enabled

Introduced in: v3.4.11, v3.5.6, v3.6.5

Type: string

Whether the log API is enabled (true) or not (false), or only enabled for superuser JWT (jwt).

Default: true

Show details

--log.color

Type: boolean

Use colors for TTY logging.

This option can be specified without a value to enable it.

Default: dynamic (e.g. true)


--log.escape-control-chars

Introduced in: v3.9.0

Type: boolean

Escape control characters in log messages.

This option can be specified without a value to enable it.

Default: true

Show details

--log.escape-unicode-chars

Introduced in: v3.9.0

Type: boolean

Escape Unicode characters in log messages.

This option can be specified without a value to enable it.

Show details

--log.file

Type: string

shortcut for ‘--log.output file://

Default: -


--log.file-group

Introduced in: v3.4.5

Type: string

group to use for new log file, user must be a member of this group


--log.file-mode

Introduced in: v3.4.5

Type: string

mode to use for new log file, umask will be applied as well


--log.force-direct

Type: boolean

Do not start a separate thread for logging.

This option can be specified without a value to enable it.

Show details

--log.foreground-tty

Type: boolean

Also log to TTY if backgrounded.

This option can be specified without a value to enable it.


--log.hostname

Introduced in: v3.8.0

Type: string

The hostname to use in log message. Leave empty for none, use “auto” to automatically determine a hostname.

Show details

--log.ids

Introduced in: v3.5.0

Type: boolean

Log unique message IDs.

This option can be specified without a value to enable it.

Default: true

Show details

--log.in-memory

Introduced in: v3.8.0

Type: boolean

Use an in-memory log appender which can be queried via the API and web interface.

This option can be specified without a value to enable it.

Default: true

Show details

--log.in-memory-level

Introduced in: v3.7.9

Type: string

Use an in-memory log appender only for this log level and higher.

Default: info

Possible values: “debug”, “err”, “error”, “fatal”, “info”, “trace”, “warn”, “warning”

Show details

--log.keep-logrotate

Type: boolean

Keep the old log file after receiving a SIGHUP.

This option can be specified without a value to enable it.


--log.level

Type: string…

Set the topic-specific log level, using --log.level level for the general topic or --log.level topic=level for the specified topic (can be specified multiple times). Available log levels: fatal, error, warning, info, debug, trace. Available log topics: all, agency, agencycomm, agencystore, aql, arangosearch, audit-authentication, audit-authorization, audit-collection, audit-database, audit-document, audit-hotbackup, audit-service, audit-view, authentication, authorization, backup, bench, cache, cluster, communication, config, crash, development, dump, engines, flush, general, graphs, heartbeat, httpclient, ldap, libiresearch, license, maintenance, memory, mmap, pregel, queries, rep-state, replication, replication2, requests, restore, rocksdb, security, ssl, startup, statistics, supervision, syscall, threads, trx, ttl, v8, validation, views.

Default: info

Show details

--log.line-number

Type: boolean

Include the function name, file name, and line number of the source code that issues the log message. Format: [func@FileName.cpp:123]

This option can be specified without a value to enable it.


--log.max-entry-length

Introduced in: v3.7.9

Type: uint32

The maximum length of a log entry (in bytes).

Default: 134217728

Show details

--log.max-queued-entries

Introduced in: v3.10.12, v3.11.5

Type: uint32

Upper limit of log entries that are queued in a background thread.

Default: 10000

Show details

--log.output

Type: string…

Log destination(s), e.g. file:///path/to/file (any occurrence of $PID is replaced with the process ID).

Show details

--log.performance

Deprecated in: v3.5.0

Type: boolean

Shortcut for --log.level performance=trace.

This option can be specified without a value to enable it.


--log.prefix

Type: string

Prefix log message with this string.

Show details

--log.process

Introduced in: v3.8.0

Type: boolean

Show the process identifier (PID) in log messages.

This option can be specified without a value to enable it.

Default: true


--log.request-parameters

Type: boolean

include full URLs and HTTP request parameters in trace logs

This option can be specified without a value to enable it.

Default: true


--log.role

Type: boolean

Log the server role.

This option can be specified without a value to enable it.

Show details

--log.shorten-filenames

Type: boolean

shorten filenames in log output (use with --log.line-number)

This option can be specified without a value to enable it.

Default: true


--log.structured-param

Introduced in: v3.10.0

Type: string…

Toggle the usage of the log category parameter in structured log messages.

Show details

--log.thread

Type: boolean

Show the thread identifier in log messages.

This option can be specified without a value to enable it.


--log.thread-name

Type: boolean

Show thread name in log messages.

This option can be specified without a value to enable it.


--log.time-format

Introduced in: v3.5.0

Type: string

The time format to use in logs.

Default: utc-datestring

Possible values: “local-datestring”, “timestamp”, “timestamp-micros”, “timestamp-millis”, “uptime”, “uptime-micros”, “uptime-millis”, “utc-datestring”, “utc-datestring-micros”, “utc-datestring-millis”

Show details

--log.use-json-format

Introduced in: v3.8.0

Type: boolean

Use JSON as output format for logging.

This option can be specified without a value to enable it.

Show details

--log.use-local-time

Deprecated in: v3.5.0

Type: boolean

Use the local timezone instead of UTC.

This option can be specified without a value to enable it.

Show details

--log.use-microtime

Deprecated in: v3.5.0

Type: boolean

Use Unix timestamps in seconds with microsecond precision.

This option can be specified without a value to enable it.

Show details

network

--network.idle-connection-ttl

Introduced in: v3.6.0

Type: uint64

The default time-to-live of idle connections for cluster-internal communication (in milliseconds).

Default: 120000


--network.io-threads

Introduced in: v3.6.0

Type: uint32

The number of network I/O threads for cluster-internal communication.

Default: 2


--network.max-open-connections

Introduced in: v3.6.0

Type: uint64

The maximum number of open TCP connections for cluster-internal communication per endpoint

Default: 1024


--network.max-requests-in-flight

Introduced in: v3.8.0

Type: uint64

The number of internal requests that can be in flight at a given point in time.

Default: 65536


--network.protocol

Introduced in: v3.7.0

Deprecated in: v3.9.0

Type: string

The network protocol to use for cluster-internal communication.

Possible values: “”, “h2”, “http”, “http2”, “vst”


--network.verify-hosts

Introduced in: v3.6.0

Type: boolean

Verify peer certificates when using TLS in cluster-internal communication.

This option can be specified without a value to enable it.


pregel

--pregel.max-parallelism

Introduced in: v3.10.0

Type: uint64

The maximum parallelism usable in a Pregel job.

Default: dynamic (e.g. 8)

Effective on Coordinators and Single Servers only.

Show details

--pregel.min-parallelism

Introduced in: v3.10.0

Type: uint64

The minimum parallelism usable in a Pregel job.

Default: 1

Effective on Coordinators and Single Servers only.

Show details

--pregel.parallelism

Introduced in: v3.10.0

Type: uint64

The default parallelism to use in a Pregel job if none is specified.

Default: dynamic (e.g. 2)

Effective on Coordinators and Single Servers only.

Show details

query

--query.allow-collections-in-expressions

Introduced in: v3.8.0

Deprecated in: v3.9.0

Type: boolean

Allow full collections to be used in AQL expressions.

This option can be specified without a value to enable it.

Show details

--query.cache-entries

Type: uint64

The maximum number of results in query result cache per database.

Default: 128

Show details

--query.cache-entries-max-size

Type: uint64

The maximum cumulated size of results in the query result cache per database (in bytes).

Default: 268435456

Show details

--query.cache-entry-max-size

Type: uint64

The maximum size of an individual result entry in query result cache (in bytes).

Default: 16777216

Show details

--query.cache-include-system-collections

Type: boolean

Whether to include system collection queries in the query result cache.

This option can be specified without a value to enable it.

Show details

--query.cache-mode

Type: string

The mode for the AQL query result cache. Can be “on”, “off”, or “demand”.

Default: off

Show details

--query.fail-on-warning

Type: boolean

Whether AQL queries should fail with errors even for recoverable warnings.

This option can be specified without a value to enable it.

Show details

--query.global-memory-limit

Introduced in: v3.8.0

Type: uint64

The memory threshold for all AQL queries combined (in bytes, 0 = no limit).

Default: dynamic (e.g. 26816037397)

Show details

--query.log-failed

Introduced in: v3.9.5, v3.10.2

Type: boolean

Whether to log failed AQL queries.

This option can be specified without a value to enable it.

Effective on Coordinators, Agents and Single Servers only.

Show details

--query.log-memory-usage-threshold

Introduced in: v3.9.5, v3.10.2

Type: uint64

Log queries that have a peak memory usage larger than this threshold.

Default: 4294967296

Effective on Coordinators, Agents and Single Servers only.

Show details

--query.max-artifact-log-length

Introduced in: v3.9.5, v3.10.2

Type: uint64

The maximum length of query strings and bind parameter values in logs before they get truncated.

Default: 4096

Effective on Coordinators, Agents and Single Servers only.

Show details

--query.max-collections-per-query

Introduced in: v3.10.7

Type: uint64

The maximum number of collections/shards that can be used in one AQL query.

Default: 2048


--query.max-dnf-condition-members

Introduced in: v3.11.0

Type: uint64

The maximum number of OR sub-nodes in the internal representation of an AQL FILTER condition.

Default: 786432

Effective on Coordinators and Single Servers only.

Show details

--query.max-nodes-per-callstack

Introduced in: v3.9.0

Type: uint64

The maximum number of execution nodes on the callstack before splitting the remaining nodes into a separate thread

Default: 250


--query.max-parallelism

Introduced in: v3.7.1

Enterprise Edition only

Type: uint64

The maximum number of threads to use for a single query; the actual query execution may use less depending on various factors.

Default: 4


--query.max-runtime

Introduced in: v3.6.7, v3.7.3

Type: double

The runtime threshold for AQL queries (in seconds, 0 = no limit).

Show details

--query.memory-limit

Type: uint64

The memory threshold per AQL query (in bytes, 0 = no limit).

Default: dynamic (e.g. 19863731405)

Show details

--query.memory-limit-override

Introduced in: v3.8.0

Type: boolean

Allow increasing the per-query memory limits for individual queries.

This option can be specified without a value to enable it.

Default: true

Show details

--query.optimizer-max-plans

Type: uint64

The maximum number of query plans to create for a query.

Default: 128

Show details

--query.optimizer-rules

Introduced in: v3.6.0

Type: string…

Enable or disable specific optimizer rules by default. Specify the rule name prefixed with - for disabling, or + for enabling.

Show details

--query.parallelize-traversals

Introduced in: v3.7.1

Enterprise Edition only

Type: boolean

Whether to enable traversal parallelization.

This option can be specified without a value to enable it.

Default: true


--query.registry-ttl

Type: double

The default time-to-live of cursors and query snippets (in seconds). If set to 0 or lower, the value defaults to 30 for single server instances and 600 for Coordinator instances.


--query.require-with

Introduced in: v3.7.11, v3.8.0

Type: boolean

Whether AQL queries should require the WITH collection-name clause even on single servers (enable this to remove this behavior difference between single server and cluster).

This option can be specified without a value to enable it.

Show details

--query.slow-streaming-threshold

Type: double

The threshold for slow streaming AQL queries (in seconds).

Default: 10

Show details

--query.slow-threshold

Type: double

The threshold for slow AQL queries (in seconds).

Default: 10

Show details

--query.smart-joins

Introduced in: v3.4.5

Enterprise Edition only

Type: boolean

Whether to enable the SmartJoins query optimization.

This option can be specified without a value to enable it.

Default: true


--query.tracking

Type: boolean

Whether to track queries.

This option can be specified without a value to enable it.

Default: true


--query.tracking-slow-queries

Introduced in: v3.7.4

Type: boolean

Whether to track slow queries.

This option can be specified without a value to enable it.

Default: true


--query.tracking-with-bindvars

Type: boolean

Whether to track bind variable of AQL queries.

This option can be specified without a value to enable it.

Default: true

Show details

--query.tracking-with-datasources

Introduced in: v3.7.4

Type: boolean

Whether to track data sources of AQL queries.

This option can be specified without a value to enable it.


--query.tracking-with-querystring

Introduced in: v3.7.4

Type: boolean

Whether to track the query string.

This option can be specified without a value to enable it.

Default: true


random

--random.generator

Type: uint32

The random number generator to use (1 = MERSENNE, 2 = RANDOM, 3 = URANDOM, 4 = COMBINED (not available on Windows), 5 = WinCrypt (Windows only). The options 2, 3, 4, and 5 are deprecated and will be removed in a future version.

Default: 1

Possible values: 1, 2, 3, 4

Show details

rclone

--rclone.argument

Introduced in: v3.9.11, v3.10.7, v3.11.1

Enterprise Edition only

Type: string…

Prepend custom arguments to rclone.

Show details

--rclone.executable

Enterprise Edition only

Type: string

Path to the rclone executable used for uploading and downloading of Hot Backups.


replication

--replication.active-failover

Type: boolean

Enable active-failover during asynchronous replication.

This option can be specified without a value to enable it.


--replication.active-failover-leader-grace-period

Introduced in: v3.10.8

Type: double

The amount of time (in seconds) for which the current leader will continue to assume its leadership even if it lost connection to the agency (0 = unlimited)

Default: 120


--replication.auto-repair-revision-trees

Introduced in: v3.10.6

Type: boolean

Whether to automatically repair revision trees of shards after too many shard synchronization failures.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers only.


--replication.auto-start

Type: boolean

Enable or disable the automatic start of replication appliers.

This option can be specified without a value to enable it.

Default: true


--replication.connect-timeout

Introduced in: v3.4.9, v3.5.4

Type: double

The default timeout value for replication connection attempts (in seconds).

Default: 10


--replication.max-parallel-tailing-invocations

Introduced in: v3.5.0

Type: uint64

The maximum number of concurrently allowed WAL tailing invocations (0 = unlimited).


--replication.quick-keys-limit

Introduced in: v3.7.9

Type: uint64

Limit at which ‘quick’ calls to the replication keys API return only the document count for the second run.

Default: 1000000


--replication.request-timeout

Introduced in: v3.4.9, v3.5.4

Type: double

The default timeout value for replication requests (in seconds).

Default: 600


--replication.sync-by-revision

Introduced in: v3.7.0

Type: boolean

Whether to use the newer revision-based replication protocol.

This option can be specified without a value to enable it.

Default: true


rocksdb

--rocksdb.allow-fallocate

Introduced in: v3.4.5

Type: boolean

Whether to allow RocksDB to use fallocate calls. If disabled, fallocate calls are bypassed and no pre-allocation is done.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.auto-fill-index-caches-on-startup

Introduced in: v3.9.6, v3.10.2

Type: boolean

Whether to automatically fill the in-memory index caches with entries from edge indexes and cache-enabled persistent indexes on server startup.

This option can be specified without a value to enable it.

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.auto-flush-check-interval

Introduced in: v3.10.5

Type: double

The interval (in seconds) in which auto-flushes of WAL and column family data is executed.

Default: 1800

Effective on DB-Servers and Single Servers only.


--rocksdb.auto-flush-min-live-wal-files

Introduced in: v3.10.5

Type: uint64

The minimum number of live WAL files that triggers an auto-flush of WAL and column family data.

Default: 20

Effective on DB-Servers and Single Servers only.


--rocksdb.auto-refill-index-caches-on-followers

Introduced in: v3.10.5

Type: boolean

Whether or not to automatically (re-)fill the in-memory index caches on followers as well.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.auto-refill-index-caches-on-modify

Introduced in: v3.9.6, v3.10.2

Type: boolean

Whether to automatically (re-)fill the in-memory index caches with entries from edge indexes and cache-enabled persistent indexes on insert/update/replace/remove operations by default.

This option can be specified without a value to enable it.

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.auto-refill-index-caches-queue-capacity

Introduced in: v3.9.6, v3.10.2

Type: uint64

How many changes can be queued at most for automatically refilling the index caches.

Default: 131072

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.blob-compression-type

Introduced in: v3.11.0

Type: string

The compression algorithm to use for blob data in the documents column family. Requires --rocksdb.enable-blob-files.

Default: lz4

Possible values: “lz4”, “lz4hc”, “none”, “snappy”

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.blob-file-size

Introduced in: v3.11.0

Type: uint64

The size limit for blob files in the documents column family (in bytes). Requires --rocksdb.enable-blob-files.

Default: 1073741824

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.blob-garbage-collection-age-cutoff

Introduced in: v3.11.0

Type: double

The age cutoff for garbage collecting blob files in the documents column family (percentage value from 0 to 1 determines how many blob files are garbage collected during compaction). Requires --rocksdb.enable-blob-files and --rocksdb.enable-blob-garbage-collection.

Default: 0.25

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.blob-garbage-collection-force-threshold

Introduced in: v3.11.0

Type: double

The garbage ratio threshold for scheduling targeted compactions for the oldest blob files in the documents column family (percentage value between 0 and 1). Requires --rocksdb.enable-blob-files and --rocksdb.enable-blob-garbage-collection.

Default: 1

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.block-align-data-blocks

Type: boolean

If enabled, data blocks are aligned on the lesser of page size and block size.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.block-cache-jemalloc-allocator

Introduced in: v3.11.0

Type: boolean

Use jemalloc-based memory allocator for RocksDB block cache.

This option can be specified without a value to enable it.

Available on Linux only.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.block-cache-shard-bits

Type: int64

The number of shard bits to use for the block cache (-1 = default value).

Default: -1

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.block-cache-size

Type: uint64

The size of block cache (in bytes).

Default: dynamic (e.g. 9287620608)

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.bloom-filter-bits-per-key

Introduced in: v3.10.3

Type: double

The average number of bits to use per key in a Bloom filter.

Default: 10

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.cache-index-and-filter-blocks

Introduced in: v3.7.1

Type: boolean

If enabled, the RocksDB block cache quota also includes RocksDB memtable sizes.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.cache-index-and-filter-blocks-with-high-priority

Introduced in: v3.7.1

Type: boolean

If enabled and --rocksdb.cache-index-and-filter-blocks is also enabled, cache index and filter blocks with high priority, making index and filter blocks be less likely to be evicted than data blocks.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.checksum-type

Introduced in: v3.10.0

Type: string

The checksum type to use for table files.

Default: xxHash64

Possible values: “XXH3”, “crc32c”, “xxHash”, “xxHash64”

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.compaction-read-ahead-size

Type: uint64

If non-zero, bigger reads are performed when doing compaction. If you run RocksDB on spinning disks, you should set this to at least 2 MB. That way, RocksDB’s compaction does sequential instead of random reads.

Default: 2097152

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.compaction-style

Introduced in: v3.10.0

Type: string

The compaction style which is used to pick the next file(s) to be compacted (note: all styles except ’level’ are experimental).

Default: level

Possible values: “fifo”, “level”, “none”, “universal”

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.compression-type

Introduced in: v3.10.0

Type: string

The compression algorithm to use within RocksDB.

Default: lz4

Possible values: “lz4”, “lz4hc”, “none”, “snappy”


--rocksdb.create-sha-files

Enterprise Edition only

Type: boolean

Whether to enable the generation of sha256 files for each .sst file.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers and Single Servers only.


--rocksdb.debug-logging

Type: boolean

Whether to enable RocksDB debug logging.

This option can be specified without a value to enable it.

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.delayed-write-rate

Type: uint64

Limit the write rate to the database (in bytes per second) when writing to the last mem-table allowed and if more than 3 mem-tables are allowed, or if a certain number of level-0 files are surpassed and writes need to be slowed down.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.dynamic-level-bytes

Type: boolean

Whether to determine the number of bytes for each level dynamically to minimize space amplification.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.edge-cache

Introduced in: v3.6.4

Deprecated in: v3.10.0

Type: boolean

Whether to use the in-memory cache for edges

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers and Single Servers only.


--rocksdb.enable-blob-files

Introduced in: v3.11.0

Type: boolean

Enable blob files for the documents column family.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.enable-blob-garbage-collection

Introduced in: v3.11.0

Type: boolean

Enable blob garbage collection during compaction in the documents column family. Requires --rocksdb.enable-blob-files.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.enable-index-compression

Introduced in: v3.10.0

Type: boolean

Enable index compression.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.enable-pipelined-write

Type: boolean

If enabled, use a two stage write queue for WAL writes and memtable writes.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.enable-statistics

Type: boolean

Whether RocksDB statistics should be enabled.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.encryption-gen-internal-key

Introduced in: v3.7.1

Enterprise Edition only

Type: boolean

Generate an internal encryption-at-rest key.

This option can be specified without a value to enable it.


--rocksdb.encryption-hardware-acceleration

Introduced in: v3.8.0

Enterprise Edition only

Type: boolean

Use Intel intrinsics-based encryption, requiring a CPU with the AES-NI instruction set. If turned off, then OpenSSL is used, which may use hardware-accelerated encryption, too.

This option can be specified without a value to enable it.

Default: true


--rocksdb.encryption-key-generator

Enterprise Edition only

Type: string

A program providing the encryption key on stdout. If set, encryption is enabled.


--rocksdb.encryption-key-rotation

Introduced in: v3.7.1

Enterprise Edition only

Type: boolean

Allow encryption key rotation.

This option can be specified without a value to enable it.


--rocksdb.encryption-keyfile

Enterprise Edition only

Type: string

A file containing an encryption key. If set, encryption is enabled.


--rocksdb.encryption-keyfolder

Introduced in: v3.7.0

Enterprise Edition only

Type: string

A folder containing all possible user encryption keys. All keys are used to decrypt the internal keystore.


--rocksdb.enforce-block-cache-size-limit

Type: boolean

If enabled, strictly enforces the block cache size limit.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.exclusive-writes

Introduced in: v3.5.4

Deprecated in: v3.8.0

Type: boolean

If enabled, writes are exclusive. This allows the RocksDB engine to mimic the collection locking behavior of the now-removed MMFiles storage engine, but inhibits concurrent write operations.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.format-version

Introduced in: v3.10.0

Type: uint32

The table format version to use inside RocksDB.

Default: 5

Possible values: 3, 4, 5

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.intermediate-commit-count

Type: uint64

An intermediate commit is performed automatically when this number of operations is reached in a transaction, and a new transaction is started.

Default: 1000000


--rocksdb.intermediate-commit-size

Type: uint64

An intermediate commit is performed automatically when a transaction has accumulated operations of this size (in bytes), and a new transaction is started.

Default: 536870912


--rocksdb.level0-compaction-trigger

Type: int64

The number of level-0 files that triggers a compaction.

Default: 2

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.level0-slowdown-trigger

Type: int64

The number of level-0 files that triggers a write slowdown

Default: 16

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.level0-stop-trigger

Type: int64

The number of level-0 files that triggers a full write stop

Default: 256

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.limit-open-files-at-startup

Introduced in: v3.4.5

Type: boolean

Limit the amount of .sst files RocksDB inspects at startup, in order to reduce the startup I/O operations.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.max-background-jobs

Type: int32

The maximum number of concurrent background jobs (compactions and flushes).

Default: dynamic (e.g. 8)

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.max-bytes-for-level-base

Type: uint64

If not using dynamic level sizes, this controls the maximum total data size for level-1 of the LSM tree.

Default: 268435456

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.max-bytes-for-level-multiplier

Type: double

If not using dynamic level sizes, the maximum number of bytes for level L of the LSM tree can be calculated as max-bytes-for-level-base * (max-bytes-for-level-multiplier ^ (L-1))

Default: 10

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.max-concurrent-index-fill-tasks

Introduced in: v3.9.6, v3.10.2

Type: uint64

The maximum number of index fill tasks that can run concurrently on server startup.

Default: dynamic (e.g. 1)

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.max-parallel-compactions

Introduced in: v3.7.11

Type: uint64

The maximum number of parallel compactions jobs.

Default: 2


--rocksdb.max-subcompactions

Type: uint32

The maximum number of concurrent sub-jobs for a background compaction.

Default: 2

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.max-total-wal-size

Type: uint64

The maximum total size of WAL files that force a flush of stale column families.

Default: 83886080

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.max-transaction-size

Type: uint64

The transaction size limit (in bytes).

Default: 18446744073709552000

Show details

--rocksdb.max-write-buffer-number

Type: uint64

The maximum number of write buffers that build up in memory (default: number of column families + 2 = 9 write buffers). You can only increase the number.

Default: 10

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.max-write-buffer-number-definitions

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the definitions column family


--rocksdb.max-write-buffer-number-documents

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the documents column family


--rocksdb.max-write-buffer-number-edge

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the edge column family


--rocksdb.max-write-buffer-number-fulltext

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the fulltext column family


--rocksdb.max-write-buffer-number-geo

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the geo column family


--rocksdb.max-write-buffer-number-primary

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the primary column family


--rocksdb.max-write-buffer-number-replicated-logs

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the replicated-logs column family


--rocksdb.max-write-buffer-number-vpack

Introduced in: v3.8.0

Type: uint64

If non-zero, overrides the value of --rocksdb.max-write-buffer-number for the vpack column family


--rocksdb.max-write-buffer-size-to-maintain

Introduced in: v3.7.3

Type: int64

The maximum size of immutable write buffers that build up in memory per column family. Larger values mean that more in-memory data can be used for transaction conflict checking (-1 = use automatic default value, 0 = do not keep immutable flushed write buffers, which is the default and usually correct).

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.min-blob-size

Introduced in: v3.11.0

Type: uint64

The size threshold for storing documents in blob files (in bytes, 0 = store all documents in blob files). Requires --rocks.enable-blob-files.

Default: 256

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.min-write-buffer-number-to-merge

Type: uint64

The minimum number of write buffers that are merged together before writing to storage.

Default: dynamic (e.g. 1)

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.minimum-disk-free-bytes

Introduced in: v3.8.0

Type: uint64

The minimum number of free disk bytes for considering the server healthy in health checks (0 = disable the check).

Default: 16777216

Effective on DB-Servers and Single Servers only.


--rocksdb.minimum-disk-free-percent

Introduced in: v3.8.0

Type: double

The minimum percentage of free disk space for considering the server healthy in health checks (0 = disable the check).

Default: 0.01

Effective on DB-Servers and Single Servers only.


--rocksdb.num-levels

Type: uint64

The number of levels for the database in the LSM tree.

Default: 7

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.num-threads-priority-high

Introduced in: v3.8.5

Type: uint32

The number of threads for high priority operations (e.g. flush).

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.num-threads-priority-low

Type: uint32

The number of threads for low priority operations (e.g. compaction).

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.num-uncompressed-levels

Type: uint64

The number of levels that do not use compression in the LSM tree.

Default: 2

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.optimize-filters-for-hits

Type: boolean

Whether the implementation should optimize the filters mainly for cases where keys are found rather than also optimize for keys missed. You can enable the option if you know that there are very few misses or the performance in the case of misses is not important for your application.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.partition-files-for-documents

Introduced in: v3.11.3

Type: boolean

If enabled, the document data for different collections/shards will end up in different .sst files.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.partition-files-for-edge-index

Introduced in: v3.11.3

Type: boolean

If enabled, the index data for different edge indexes will end up in different .sst files.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.partition-files-for-persistent-index

Introduced in: v3.11.3

Type: boolean

If enabled, the index data for different persistent indexes will end up in different .sst files.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.partition-files-for-primary-index

Introduced in: v3.11.3

Type: boolean

If enabled, the primary index data for different collections/shards will end up in different .sst files.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.pending-compactions-slowdown-trigger

Introduced in: v3.8.5

Type: uint64

The number of pending compaction bytes that triggers a write slowdown.

Default: 131072

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.pending-compactions-stop-trigger

Introduced in: v3.8.5

Type: uint64

The number of pending compaction bytes that triggers a full write stop.

Default: 17179869184

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.periodic-compaction-ttl

Introduced in: v3.9.3

Type: uint64

Time-to-live (in seconds) for periodic compaction of .sst files, based on the file age (0 = no periodic compaction).

Default: 2592000

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.pin-l0-filter-and-index-blocks-in-cache

Introduced in: v3.7.1

Type: boolean

If enabled and --rocksdb.cache-index-and-filter-blocks is also enabled, filter and index blocks are pinned and only evicted from cache when the table reader is freed.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.pin-top-level-index-and-filter

Introduced in: v3.7.1

Type: boolean

If enabled and --rocksdb.cache-index-and-filter-blocks is also enabled, the top-level index of partitioned filter and index blocks are pinned and only evicted from cache when the table reader is freed.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.prepopulate-block-cache

Introduced in: v3.10.0

Type: boolean

Pre-populate block cache on flushes.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.recycle-log-file-num

Type: boolean

If enabled, keep a pool of log files around for recycling.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.reserve-file-metadata-memory

Introduced in: v3.11.0

Type: boolean

account for .sst file metadata memory in block cache

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.reserve-table-builder-memory

Introduced in: v3.10.0

Type: boolean

Account for table building memory in block cache.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.reserve-table-reader-memory

Introduced in: v3.10.0

Type: boolean

Account for table reader memory in block cache.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.sync-delay-threshold

Introduced in: v3.6.8, v3.7.5

Type: uint64

The threshold for self-observation of WAL disk syncs (in milliseconds, 0 = no warnings). Any WAL disk sync longer ago than this threshold triggers a warning

Default: 5000

Effective on DB-Servers and Single Servers only.


--rocksdb.sync-interval

Type: uint64

The interval for automatic, non-requested disk syncs (in milliseconds, 0 = turn automatic syncing off)

Default: 100

Available on Linux and macOS only.

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.table-block-size

Type: uint64

The approximate size (in bytes) of the user data packed per block for uncompressed data.

Default: 16384

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.target-file-size-base

Introduced in: v3.7.1

Type: uint64

Per-file target file size for compaction (in bytes). The actual target file size for each level is --rocksdb.target-file-size-base multiplied by --rocksdb.target-file-size-multiplier ^ (level - 1)

Default: 67108864

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.target-file-size-multiplier

Introduced in: v3.7.1

Type: uint64

The multiplier for --rocksdb.target-file-size. A value of 1 means that files in different levels will have the same size.

Default: 1

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.throttle

Type: boolean

Enable write-throttling.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.throttle-frequency

Introduced in: v3.8.5

Type: uint64

The frequency for write-throttle calculations (in milliseconds).

Default: 1000

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.throttle-lower-bound-bps

Introduced in: v3.8.5

Type: uint64

The lower bound for throttle’s write bandwidth (in bytes per second).

Default: 10485760

Effective on DB-Servers and Single Servers only.


--rocksdb.throttle-max-write-rate

Introduced in: v3.8.5

Type: uint64

The maximum write rate enforced by throttle (in bytes per second, 0 = unlimited).

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.throttle-scaling-factor

Introduced in: v3.8.5

Type: uint64

The adaptiveness scaling factor for write-throttle calculations.

Default: 17

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.throttle-slots

Introduced in: v3.8.5

Type: uint64

The number of historic metrics to use for throttle value calculation.

Default: 120

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.throttle-slow-down-writes-trigger

Introduced in: v3.8.5

Type: uint64

The number of level 0 files whose payload is not considered in throttle calculations when penalizing the presence of L0 files.

Default: 8

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.total-write-buffer-size

Type: uint64

The maximum total size of in-memory write buffers (0 = unbounded).

Default: dynamic (e.g. 12383494144)

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.transaction-lock-stripes

Introduced in: v3.9.2

Type: uint64

The number of lock stripes to use for transaction locks.

Default: dynamic (e.g. 16)

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.transaction-lock-timeout

Type: int64

If positive, specifies the wait timeout in milliseconds when a transaction attempts to lock a document. A negative value is not recommended as it can lead to deadlocks (0 = no waiting, < 0 no timeout)

Default: 1000

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.use-direct-io-for-flush-and-compaction

Type: boolean

Use O_DIRECT for writing files for flush and compaction.

This option can be specified without a value to enable it.

Available on Linux only.


--rocksdb.use-direct-reads

Type: boolean

Use O_DIRECT for reading files.

This option can be specified without a value to enable it.

Available on Linux only.


--rocksdb.use-file-logging

Type: boolean

Use a file-base logger for RocksDB’s own logs.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.use-fsync

Type: boolean

Whether to use fsync calls when writing to disk (set to false for issuing fdatasync calls only).

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.use-range-delete-in-wal

Introduced in: v3.9.3

Type: boolean

Enable range delete markers in the write-ahead log (WAL). Potentially incompatible with older arangosync versions.

This option can be specified without a value to enable it.

Default: true

Effective on DB-Servers only.

Show details

--rocksdb.verify-sst

Introduced in: v3.11.0

Type: boolean

Verify the validity of .sst files present in the engine-rocksdb directory on startup.

This is a command, no value needs to be specified. The process terminates after executing the command.

Effective on DB-Servers, Agents and Single Servers only.

Show details

--rocksdb.wal-archive-size-limit

Type: uint64

The maximum total size (in bytes) of archived WAL files to keep on the leader (0 = unlimited).

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.wal-directory

Type: string

Absolute path for RocksDB WAL files. If not set, a subdirectory journals inside the database directory is used.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.wal-file-timeout

Type: double

The timeout after which unused WAL files are deleted (in seconds).

Default: 10

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.wal-file-timeout-initial

Type: double

The initial timeout (in seconds) after which unused WAL files deletion kicks in after server start.

Default: 60

Effective on DB-Servers and Single Servers only.

Show details

--rocksdb.wal-recovery-skip-corrupted

Type: boolean

Skip corrupted records in WAL recovery.

This option can be specified without a value to enable it.

Effective on DB-Servers, Agents and Single Servers only.


--rocksdb.write-buffer-size

Type: uint64

The amount of data to build up in memory before converting to a sorted on-disk file (0 = disabled).

Default: 67108864

Effective on DB-Servers, Agents and Single Servers only.

Show details

server

--server.allow-use-database

Type: boolean

Allow to change the database in REST actions. Only needed internally for unit tests.

This option can be specified without a value to enable it.


--server.authentication

Type: boolean

Whether to use authentication for all client requests.

This option can be specified without a value to enable it.

Default: true

Show details

--server.authentication-system-only

Type: boolean

Use HTTP authentication only for requests to /_api and /_admin endpoints.

This option can be specified without a value to enable it.

Default: true

Show details

--server.authentication-timeout

Type: double

The timeout for the authentication cache (in seconds, 0 = indefinitely).

Show details

--server.authentication-unix-sockets

Type: boolean

Whether to use authentication for requests via UNIX domain sockets.

This option can be specified without a value to enable it.

Default: true

Available on Linux and macOS only.

Show details

--server.cluster-metrics-timeout

Introduced in: v3.10.0

Type: uint32

Cluster metrics polling timeout (in seconds).


--server.count-descriptors-interval

Introduced in: v3.11.0

Type: uint64

Controls the interval (in milliseconds) in which the number of open file descriptors for the process is determined (0 = disable counting).

Default: 60000

Available on Linux only.


--server.descriptors-minimum

Type: uint64

The minimum number of file descriptors needed to start (0 = no minimum)

Default: 8192

Available on Linux and macOS only.


--server.early-connections

Introduced in: v3.10.0

Type: boolean

Allow requests to a limited set of APIs early during the server startup.

This option can be specified without a value to enable it.


--server.endpoint

Type: string…

Endpoint for client requests (e.g. http+tcp://127.0.0.1:8529, or vst+ssl://192.168.1.1:8529)

Default: tcp://0.0.0.0:8529

Show details

--server.ensure-whitespace-metrics-format

Introduced in: v3.10.6

Type: boolean

Set to true to ensure whitespace between the exported metric value and the preceding token (metric name or labels) in the metrics output.

This option can be specified without a value to enable it.

Default: true

Show details

--server.export-metrics-api

Introduced in: v3.6.0

Type: boolean

Whether to enable the metrics API.

This option can be specified without a value to enable it.

Default: true


--server.export-read-write-metrics

Introduced in: v3.7.7

Type: boolean

Whether to enable metrics for document reads and writes.

This option can be specified without a value to enable it.


--server.export-shard-usage-metrics

Introduced in: v3.10.13, v3.11.7

Type: string

Whether or not to export shard usage metrics.

Default: disabled

Possible values: “disabled”, “enabled-per-shard”, “enabled-per-shard-per-user”

Effective on DB-Servers only.

Show details

--server.gid

Type: string

Switch to this group ID after reading configuration files.


--server.harden

Introduced in: v3.5.0

Type: boolean

Lock down REST APIs that reveal version information or server internals for non-admin users.

This option can be specified without a value to enable it.


--server.io-threads

Type: uint64

The number of threads used to handle I/O.

Default: dynamic (e.g. 2)


--server.jwt-secret

Deprecated in: v3.3.22, v3.4.2

Type: string

The secret to use when doing JWT authentication.


--server.jwt-secret-folder

Introduced in: v3.7.0

Enterprise Edition only

Type: string

A folder containing one or more JWT secret files to use for JWT authentication.

Show details

--server.jwt-secret-keyfile

Type: string

A file containing the JWT secret to use when doing JWT authentication.

Show details

--server.local-authentication

Type: boolean

Whether to use ArangoDB’s built-in authentication system.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.

Show details

--server.maintenance-actions-block

Type: int32

The minimum number of seconds finished actions block duplicates.

Default: 2

Effective on DB-Servers only.


--server.maintenance-actions-linger

Type: int32

The minimum number of seconds finished actions remain in the deque.

Default: 3600

Effective on DB-Servers only.


--server.maintenance-slow-threads

Introduced in: v3.8.3

Type: uint32

The maximum number of threads available for slow maintenance actions (long SynchronizeShard and long EnsureIndex).

Default: dynamic (e.g. 1)

Effective on DB-Servers only.


--server.maintenance-threads

Type: uint32

The maximum number of threads available for maintenance actions.

Default: dynamic (e.g. 3)

Effective on DB-Servers only.


--server.max-number-detached-threads

Introduced in: v3.11.5

Type: uint64

The maximum number of detached scheduler threads.

Default: 1000

Show details

--server.maximal-queue-size

Type: uint64

The size of the priority 3 FIFO.

Default: 4096

Show details

--server.maximal-threads

Type: uint64

The maximum number of request handling threads to run (0 = use system-specific default of 32)

Show details

--server.minimal-threads

Type: uint64

The minimum number of request handling threads to run.

Default: 4

Show details

--server.ongoing-low-priority-multiplier

Introduced in: v3.8.0

Type: double

Controls the number of low priority requests that can be ongoing at a given point in time, relative to the maximum number of request handling threads.

Default: 4

Show details

--server.prio1-size

Type: uint64

The size of the priority 1 FIFO.

Default: 4096


--server.prio2-size

Introduced in: v3.8.0

Type: uint64

The size of the priority 2 FIFO.

Default: 4096


--server.rest-server

Type: boolean

Start a REST server.

This option can be specified without a value to enable it.

Default: true


--server.scheduler-queue-size

Type: uint64

The number of simultaneously queued requests inside the scheduler.

Default: 4096


--server.session-timeout

Introduced in: v3.9.0

Type: double

The lifetime for tokens (in seconds) that can be obtained from the POST /_open/auth endpoint. Used by the web interface for JWT-based sessions.

Default: 3600

Effective on Coordinators and Single Servers only.

Show details

--server.statistics

Type: boolean

Whether to enable statistics gathering and statistics APIs.

This option can be specified without a value to enable it.

Default: true

Show details

--server.statistics-all-databases

Introduced in: v3.8.0

Type: boolean

Provide cluster statistics in the web interface for all databases.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators only.


--server.statistics-history

Introduced in: v3.4.9, v3.5.1

Type: boolean

Whether to store statistics in the database.

This option can be specified without a value to enable it.

Default: dynamic (e.g. true)

Show details

--server.storage-engine

Type: string

The storage engine type (note that the MMFiles engine is unavailable since v3.7.0 and cannot be used anymore).

Default: auto

Possible values: “auto”, “rocksdb”

Show details

--server.support-info-api

Introduced in: v3.9.0

Type: string

The policy for exposing the support info and also the telemetrics API.

Default: admin

Possible values: “admin”, “disabled”, “jwt”, “public”


--server.telemetrics-api

Introduced in: v3.11.0

Type: boolean

Whether to enable the telemetrics API.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators, DB-Servers and Single Servers only.


--server.telemetrics-api-max-requests

Introduced in: v3.11.0

Type: uint64

The maximum number of requests from arangosh that the telemetrics API responds to without rate-limiting.

Default: 3

Effective on Coordinators and Single Servers only.

Show details

--server.uid

Type: string

Switch to this user ID after reading configuration files.


--server.unavailability-queue-fill-grade

Introduced in: v3.6.10, v3.7.6

Type: double

The queue fill grade from which onwards the server is considered unavailable because of an overload (ratio, 0 = disable)

Default: 0.75

Show details

--server.validate-utf8-strings

Introduced in: v3.7.0

Type: boolean

Perform UTF-8 string validation for incoming JSON and VelocyPack data.

This option can be specified without a value to enable it.

Default: true


ssl

--ssl.cafile

Type: string

The CA file used for secure connections.

Show details

--ssl.cipher-list

Type: string

The SSL ciphers to use. See the OpenSSL documentation.

Default: HIGH:!EXPORT:!aNULL@STRENGTH

Show details

--ssl.ecdh-curve

Type: string

The SSL ECDH curve, see the output of “openssl ecparam -list_curves”.

Default: prime256v1


--ssl.keyfile

Type: string

The keyfile used for secure connections.

Show details

--ssl.options

Type: uint64

The SSL connection options. See the OpenSSL documentation.

Default: 2147485776

Show details

--ssl.prefer-http1-in-alpn

Type: boolean

Allows to let the server prefer HTTP/1.1 over HTTP/2 in ALPN protocol negotiations

This option can be specified without a value to enable it.


--ssl.protocol

Type: uint64

The SSL protocol (1 = SSLv2 (unsupported), 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSv1.2, 6 = TLSv1.3, 9 = generic TLS (negotiated))

Default: 9

Possible values: 1, 2, 3, 4, 5, 6, 9

Show details

--ssl.require-peer-certificate

Enterprise Edition only

Type: boolean

Require a peer certificate from the client before connecting.

This option can be specified without a value to enable it.


--ssl.server-name-indication

Introduced in: v3.7.0

Enterprise Edition only

Type: string…

Use a different server keyfile and certificate if the client indicates a specific server name. Format: SERVERNAME=KEYFILENAME

Show details

--ssl.session-cache

Type: boolean

Enable the session cache for connections.

This option can be specified without a value to enable it.


tcp

--tcp.backlog-size

Type: uint64

Specify the size of the backlog for the listen system call.

Default: 64

Show details

--tcp.reuse-address

Type: boolean

Try to reuse TCP port(s).

This option can be specified without a value to enable it.

Default: true

Show details

temp

--temp.intermediate-results-capacity

Introduced in: v3.10.0

Type: uint64

The maximum capacity (in bytes) to use for ephemeral, intermediate results on disk (0 = unlimited).


--temp.intermediate-results-encryption

Introduced in: v3.10.0

Enterprise Edition only

Type: boolean

Encrypt ephemeral, intermediate results on disk.

This option can be specified without a value to enable it.


--temp.intermediate-results-encryption-hardware-acceleration

Introduced in: v3.10.0

Enterprise Edition only

Type: boolean

Use Intel intrinsics-based encryption, requiring a CPU with the AES-NI instruction set. If turned off, then OpenSSL is used, which may use hardware-accelerated encryption, too.

This option can be specified without a value to enable it.

Default: true


--temp.intermediate-results-path

Introduced in: v3.10.0

Type: string

The path for storing ephemeral, intermediate results on disk (empty = not used).

Show details

--temp.intermediate-results-spillover-threshold-memory-usage

Introduced in: v3.10.0

Type: uint64

The memory usage threshold (in bytes) after which a spillover from RAM to disk happens for intermediate results (threshold per query executor).

Default: 134217728


--temp.intermediate-results-spillover-threshold-num-rows

Introduced in: v3.10.0

Type: uint64

The number of result rows after which a spillover from RAM to disk happens for intermediate results (threshold per query executor).

Default: 5000000


--temp.path

Type: string

The path for temporary files.

Show details

transaction

--transaction.streaming-idle-timeout

Introduced in: v3.8.0

Type: double

The idle timeout (in seconds) for Stream Transactions.

Default: 60

Effective on Coordinators and Single Servers only.

Show details

--transaction.streaming-lock-timeout

Introduced in: v3.6.5, v3.7.1

Type: double

The lock timeout (in seconds) in case of parallel access to the same Stream Transaction.

Default: 8


ttl

--ttl.frequency

Type: uint64

The frequency (in milliseconds) for the TTL background thread invocation (0 = turn the TTL background thread off entirely).

Default: 30000

Show details

--ttl.max-collection-removes

Type: uint64

The maximum number of documents to remove per collection in each invocation of the TTL thread.

Default: 100000

Show details

--ttl.max-total-removes

Type: uint64

The maximum number of documents to remove per invocation of the TTL thread.

Default: 1000000

Show details

web-interface

--web-interface.proxy-request-check

Type: boolean

Enable proxy request checking.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.


--web-interface.trusted-proxy

Type: string…

The list of proxies to trust (can be IP or network). Make sure --web-interface.proxy-request-check is enabled.

Effective on Coordinators and Single Servers only.


--web-interface.version-check

Type: boolean

Alert the user if new versions are available.

This option can be specified without a value to enable it.

Default: true

Effective on Coordinators and Single Servers only.