Configuration settings

This page provides a complete reference to the Neo4j configuration settings, which can be set in neo4j.conf. Refer to The neo4j.conf file for details on how to use configuration settings.

Some of the settings are labeled Dynamic, which means that they can be changed at runtime, without restarting the service. For more information on how to update dynamic configuration settings, see Update dynamic settings.

Checkpoint settings

dbms.checkpoint

Table 1. dbms.checkpoint

Description

Configures the general policy for when check-points should occur. The default policy is the 'periodic' check-point policy, as specified by the 'dbms.checkpoint.interval.tx' and 'dbms.checkpoint.interval.time' settings. The Neo4j Enterprise Edition provides two alternative policies: The first is the 'continuous' check-point policy, which will ignore those settings and run the check-point process all the time. The second is the 'volumetric' check-point policy, which makes a best-effort at check-pointing often enough so that the database doesn’t get too far behind on deleting old transaction logs in accordance with the 'dbms.tx_log.rotation.retention_policy' setting.

Valid values

dbms.checkpoint, one of [PERIODIC, CONTINUOUS, VOLUME, VOLUMETRIC]

Default value

PERIODIC

dbms.checkpoint.interval.time

Table 2. dbms.checkpoint.interval.time

Description

Configures the time interval between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, which recovery would start from. Longer check-point intervals typically mean that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files.

Valid values

dbms.checkpoint.interval.time, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

15m

dbms.checkpoint.interval.tx

Table 3. dbms.checkpoint.interval.tx

Description

Configures the transaction interval between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, which recovery would start from. Longer check-point intervals typically mean that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files. The default is '100000' for a check-point every 100000 transactions.

Valid values

dbms.checkpoint.interval.tx, an integer which is minimum 1

Default value

100000

dbms.checkpoint.interval.volume

Table 4. dbms.checkpoint.interval.volume

Description

Configures the volume of transacton logs between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, which recovery would start from. Longer check-point intervals typically mean that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files.

Valid values

dbms.checkpoint.interval.volume, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 1.00KiB

Default value

250.00MiB

dbms.checkpoint.iops.limit

Dynamic

Table 5. dbms.checkpoint.iops.limit

Description

Limit the number of IOs the background checkpoint process will consume per second. This setting is advisory, is ignored in Neo4j Community Edition, and is followed to best effort in Enterprise Edition. An IO is in this case a 8 KiB (mostly sequential) write. Limiting the write IO in this way will leave more bandwidth in the IO subsystem to service random-read IOs, which is important for the response time of queries when the database cannot fit entirely in memory. The only drawback of this setting is that longer checkpoint times may lead to slightly longer recovery times in case of a database or system crash. A lower number means lower IO pressure, and consequently longer checkpoint times. Set this to -1 to disable the IOPS limit and remove the limitation entirely; this will let the checkpointer flush data as fast as the hardware will go. Removing the setting, or commenting it out, will set the default value of 600.

Valid values

dbms.checkpoint.iops.limit, an integer

Default value

600

Cluster settings

causal_clustering.catch_up_client_inactivity_timeout

Table 6. causal_clustering.catch_up_client_inactivity_timeout

Description

The catch up protocol times out if the given duration elapses with no network activity. Every message received by the client from the server extends the time out duration.

Valid values

causal_clustering.catch_up_client_inactivity_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10m

causal_clustering.catchup_batch_size

Table 7. causal_clustering.catchup_batch_size

Description

The maximum batch size when catching up (in unit of entries)

Valid values

causal_clustering.catchup_batch_size, an integer

Default value

64

causal_clustering.cluster_allow_reads_on_followers

Table 8. causal_clustering.cluster_allow_reads_on_followers

Description

Configure if the dbms.routing.getRoutingTable() procedure should include followers as read endpoints or return only read replicas. Note: if there are no read replicas in the cluster, followers are returned as read end points regardless the value of this setting. Defaults to true so that followers are available for read-only queries in a typical heterogeneous setup.

Valid values

causal_clustering.cluster_allow_reads_on_followers, a boolean

Default value

true

causal_clustering.cluster_allow_reads_on_leader

Dynamic

Table 9. causal_clustering.cluster_allow_reads_on_leader

Description

Configure if the dbms.routing.getRoutingTable() procedure should include the leader as read endpoint or return only read replicas/followers. Note: leader is returned as read endpoint if no other member is present all.

Valid values

causal_clustering.cluster_allow_reads_on_leader, a boolean

Default value

false

causal_clustering.cluster_binding_timeout

Table 10. causal_clustering.cluster_binding_timeout

Description

The time allowed for a database on a Neo4j server to either join a cluster or form a new cluster with the other Neo4j Core Servers provided by causal_clustering.initial_discovery_members.

Valid values

causal_clustering.cluster_binding_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10m

causal_clustering.cluster_topology_refresh

Table 11. causal_clustering.cluster_topology_refresh

Description

Time between scanning the cluster to refresh current server’s view of topology.

Valid values

causal_clustering.cluster_topology_refresh, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1s

Default value

5s

causal_clustering.command_applier_parallelism

Table 12. causal_clustering.command_applier_parallelism

Description

Limits amount of global threads for applying commands.

Valid values

causal_clustering.command_applier_parallelism, an integer which is minimum 1

Default value

8

causal_clustering.connect_randomly_to_server_group

Dynamic

Table 13. causal_clustering.connect_randomly_to_server_group

Description

Comma separated list of groups to be used by the connect-randomly-to-server-group selection strategy. The connect-randomly-to-server-group strategy is used if the list of strategies (causal_clustering.upstream_selection_strategy) includes the value connect-randomly-to-server-group.

Valid values

causal_clustering.connect_randomly_to_server_group, a ',' separated list with elements of type 'a string identifying a Server Group'.

Default value

causal_clustering.delete_store_before_store_copy

Table 14. causal_clustering.delete_store_before_store_copy

Description

Deletes the old store (on cores and replicas) before performing a store copy (instead of deleting it after).

Valid values

causal_clustering.delete_store_before_store_copy, a boolean

Default value

true

causal_clustering.discovery_advertised_address

Table 15. causal_clustering.discovery_advertised_address

Description

Advertised cluster member discovery management communication.

Valid values

causal_clustering.discovery_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address

Default value

:5000

causal_clustering.discovery_listen_address

Table 16. causal_clustering.discovery_listen_address

Description

Host and port to bind the cluster member discovery management communication.

Valid values

causal_clustering.discovery_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:5000

causal_clustering.discovery_type

Table 17. causal_clustering.discovery_type

Description

Configure the discovery type used for cluster name resolution.

Valid values

causal_clustering.discovery_type, one of [DNS, LIST, SRV, K8S] which depends on dbms.mode. If dbms.mode one of [CORE, READ_REPLICA] then it may require different settings depending on the discovery type: DNS requires [causal_clustering.initial_discovery_members], LIST requires [causal_clustering.initial_discovery_members], SRV requires [causal_clustering.initial_discovery_members], K8S requires [causal_clustering.kubernetes.label_selector, causal_clustering.kubernetes.service_port_name] otherwise it depends on dbms.mode. If dbms.mode one of [SINGLE] then it depends on dbms.clustering.enable. If dbms.clustering.enable is true then it may require different settings depending on the discovery type: DNS requires [causal_clustering.initial_discovery_members], LIST requires [causal_clustering.initial_discovery_members], SRV requires [causal_clustering.initial_discovery_members], K8S requires [causal_clustering.kubernetes.label_selector, causal_clustering.kubernetes.service_port_name] otherwise it is unconstrained. otherwise it is unconstrained..

Default value

LIST

causal_clustering.election_failure_detection_window

Table 18. causal_clustering.election_failure_detection_window

Description

The rate at which leader elections happen. Note that due to election conflicts it might take several attempts to find a leader. The window should be significantly larger than typical communication delays to make conflicts unlikely.

Valid values

causal_clustering.election_failure_detection_window, a duration-range <min-max> (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

3s-6s

causal_clustering.enable_pre_voting

Table 19. causal_clustering.enable_pre_voting

Description

Enable pre-voting extension to the Raft protocol (this is breaking and must match between the core cluster members)

Valid values

causal_clustering.enable_pre_voting, a boolean

Default value

true

causal_clustering.global_session_tracker_state_size

Table 20. causal_clustering.global_session_tracker_state_size

Description

The maximum file size before the global session tracker state file is rotated (in unit of entries)

Valid values

causal_clustering.global_session_tracker_state_size, an integer

Default value

1000

causal_clustering.handshake_timeout

Table 21. causal_clustering.handshake_timeout

Description

Time out for protocol negotiation handshake. This configuration is applicable to: Raft (communication between CORE instances only), Catchup (communication between any instances: CORECORE, RRCORE, RRRR, CORERR, including RRSINGLE in a replica-only cluster). Backup (communication between any instance and a backup client that lives in the neo4j-admin command, such as BackupClientSINGLE, BackupClientCORE, BackupClientRR).

Valid values

causal_clustering.handshake_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

20s

causal_clustering.in_flight_cache.max_bytes

Table 22. causal_clustering.in_flight_cache.max_bytes

Description

The maximum number of bytes in the in-flight cache. This parameter limits the amount of memory that can be consumed by cache. If the bytes limit is reached, cache size will be limited even if max_entries is not exceeded.

Valid values

causal_clustering.in_flight_cache.max_bytes, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB)

Default value

2.00GiB

causal_clustering.in_flight_cache.max_entries

Table 23. causal_clustering.in_flight_cache.max_entries

Description

The maximum number of entries in the in-flight cache. Increasing size will require more memory but might improve performance in high load situations.

Valid values

causal_clustering.in_flight_cache.max_entries, an integer

Default value

1024

causal_clustering.in_flight_cache.type

Table 24. causal_clustering.in_flight_cache.type

Description

Type of in-flight cache. CONSECUTIVE should be used for production instances, NONE will disable cache which might be useful in specific support cases. UNBOUNDED is for internal use only.

Valid values

causal_clustering.in_flight_cache.type, one of [NONE, CONSECUTIVE, UNBOUNDED]

Default value

CONSECUTIVE

causal_clustering.initial_discovery_members

Table 25. causal_clustering.initial_discovery_members

Description

A comma-separated list of other members of the cluster to join.

Valid values

causal_clustering.initial_discovery_members, a ',' separated list with elements of type 'a socket address in the format 'hostname:port', 'hostname' or ':port''.

causal_clustering.join_catch_up_max_lag

Description

Maximum amount of lag accepted for a new follower to join the Raft group.

Valid values

causal_clustering.join_catch_up_max_lag, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10s

causal_clustering.join_catch_up_timeout

Table 26. causal_clustering.join_catch_up_timeout

Description

Time out for a new member to catch up.

Valid values

causal_clustering.join_catch_up_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10m

causal_clustering.kubernetes.address

Table 27. causal_clustering.kubernetes.address

Description

Address for Kubernetes API.

Valid values

causal_clustering.kubernetes.address, a socket address in the format 'hostname:port', 'hostname' or ':port'

Default value

kubernetes.default.svc:443

causal_clustering.kubernetes.ca_crt

Table 28. causal_clustering.kubernetes.ca_crt

Description

File location of CA certificate for Kubernetes API.

Valid values

causal_clustering.kubernetes.ca_crt, a path

Default value

/var/run/secrets/kubernetes.io/serviceaccount/ca.crt

causal_clustering.kubernetes.cluster_domain

Table 29. causal_clustering.kubernetes.cluster_domain

Description

Kubernetes cluster domain.

Valid values

causal_clustering.kubernetes.cluster_domain, a string

Default value

cluster.local

causal_clustering.kubernetes.label_selector

Table 30. causal_clustering.kubernetes.label_selector

Description

LabelSelector for Kubernetes API.

Valid values

causal_clustering.kubernetes.label_selector, a string

causal_clustering.kubernetes.namespace

Table 31. causal_clustering.kubernetes.namespace

Description

File location of namespace for Kubernetes API.

Valid values

causal_clustering.kubernetes.namespace, a path

Default value

/var/run/secrets/kubernetes.io/serviceaccount/namespace

causal_clustering.kubernetes.service_port_name

Table 32. causal_clustering.kubernetes.service_port_name

Description

Service port name for discovery for Kubernetes API.

Valid values

causal_clustering.kubernetes.service_port_name, a string

causal_clustering.kubernetes.token

Table 33. causal_clustering.kubernetes.token

Description

File location of token for Kubernetes API.

Valid values

causal_clustering.kubernetes.token, a path

Default value

/var/run/secrets/kubernetes.io/serviceaccount/token

causal_clustering.last_applied_state_size

Description

The maximum file size before the storage file is rotated (in unit of entries)

Valid values

causal_clustering.last_applied_state_size, an integer

Default value

1000

causal_clustering.leader_election_timeout

Deprecated

Table 34. causal_clustering.leader_election_timeout

Description

Valid values

causal_clustering.leader_election_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

7s

causal_clustering.leader_failure_detection_window

Table 35. causal_clustering.leader_failure_detection_window

Description

The time window within which the loss of the leader is detected and the first re-election attempt is held.The window should be significantly larger than typical communication delays to make conflicts unlikely.

Valid values

causal_clustering.leader_failure_detection_window, a duration-range <min-max> (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

20s-23s

causal_clustering.leadership_balancing

Table 36. causal_clustering.leadership_balancing

Description

Which strategy to use when transferring database leaderships around a cluster. This can be one of equal_balancing or no_balancing. equal_balancing automatically ensures that each Core server holds the leader role for an equal number of databases.no_balancing prevents any automatic balancing of the leader role.Note that if a leadership_priority_group is specified for a given database, the value of this setting will be ignored for that database.

Valid values

causal_clustering.leadership_balancing, one of [NO_BALANCING, EQUAL_BALANCING]

Default value

EQUAL_BALANCING

causal_clustering.leadership_priority_group

Table 37. causal_clustering.leadership_priority_group

Description

The name of a server_group whose members should be prioritized as leaders. This does not guarantee that members of this group will be leader at all times, but the cluster will attempt to transfer leadership to such a member when possible. If a database is specified using causal_clustering.leadership_priority_group.<database> the specified priority group will apply to that database only. If no database is specified that group will be the default and apply to all databases which have no priority group explicitly set. Using this setting will disable leadership balancing.

Valid values

causal_clustering.leadership_priority_group, a string identifying a Server Group

Default value

causal_clustering.load_balancing.plugin

Table 38. causal_clustering.load_balancing.plugin

Description

The load balancing plugin to use.

Valid values

causal_clustering.load_balancing.plugin, a string which depends on dbms.mode. If dbms.mode one of [CORE] then it specified load balancer plugin exist. otherwise it is unconstrained.

Default value

server_policies

causal_clustering.load_balancing.shuffle

Table 39. causal_clustering.load_balancing.shuffle

Description

Enables shuffling of the returned load balancing result.

Valid values

causal_clustering.load_balancing.shuffle, a boolean

Default value

true

causal_clustering.log_shipping_max_lag

Table 40. causal_clustering.log_shipping_max_lag

Description

The maximum lag allowed before log shipping pauses (in unit of entries)

Valid values

causal_clustering.log_shipping_max_lag, an integer

Default value

256

causal_clustering.log_shipping_retry_timeout

Table 41. causal_clustering.log_shipping_retry_timeout

Description

Retry time for log shipping to followers after a stall.

Valid values

causal_clustering.log_shipping_retry_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5s

causal_clustering.max_raft_channels

Table 42. causal_clustering.max_raft_channels

Description

The maximum number of TCP channels between two nodes to operate the raft protocol. Each database gets allocated one channel, but a single channel can be used by more than one database.

Valid values

causal_clustering.max_raft_channels, an integer

Default value

8

causal_clustering.middleware.logging.level

Table 43. causal_clustering.middleware.logging.level

Description

The level of middleware logging.

Valid values

causal_clustering.middleware.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE]

Default value

WARN

causal_clustering.minimum_core_cluster_size_at_formation

Table 44. causal_clustering.minimum_core_cluster_size_at_formation

Description

Minimum number of Core machines initially required to form a cluster. The cluster will form when at least this many Core members have discovered each other.

Valid values

causal_clustering.minimum_core_cluster_size_at_formation, an integer which is minimum 2

Default value

3

causal_clustering.minimum_core_cluster_size_at_runtime

Table 45. causal_clustering.minimum_core_cluster_size_at_runtime

Description

The minimum size of the dynamically adjusted voting set (which only core members may be a part of). Adjustments to the voting set happen automatically as the availability of core members changes, due to explicit operations such as starting or stopping a member, or unintended issues such as network partitions. Note that this dynamic scaling of the voting set is generally desirable as under some circumstances it can increase the number of instance failures which may be tolerated. A majority of the voting set must be available before voting in or out members.

Valid values

causal_clustering.minimum_core_cluster_size_at_runtime, an integer which is minimum 2 and depends on dbms.mode. If dbms.mode one of [CORE] then it must be set less than or equal to value of 'causal_clustering.minimum_core_cluster_size_at_formation' otherwise it is unconstrained.

Default value

3

causal_clustering.multi_dc_license

Table 46. causal_clustering.multi_dc_license

Description

Enable multi-data center features. Requires appropriate licensing.

Valid values

causal_clustering.multi_dc_license, a boolean

Default value

false

causal_clustering.protocol_implementations.catchup

Table 47. causal_clustering.protocol_implementations.catchup

Description

Catchup protocol implementation versions that this instance will allow in negotiation as a comma-separated list. Order is not relevant: the greatest value will be preferred. An empty list will allow all supported versions. Example value: "1.1, 1.2, 2.1, 2.2"

Valid values

causal_clustering.protocol_implementations.catchup, a ',' separated list with elements of type 'an application protocol version'.

Default value

causal_clustering.protocol_implementations.compression

Table 48. causal_clustering.protocol_implementations.compression

Description

Network compression algorithms that this instance will allow in negotiation as a comma-separated list. Listed in descending order of preference for incoming connections. An empty list implies no compression. For outgoing connections this merely specifies the allowed set of algorithms and the preference of the remote peer will be used for making the decision. Allowable values: [Gzip, Snappy, Snappy_validating, LZ4, LZ4_high_compression, LZ_validating, LZ4_high_compression_validating]

Valid values

causal_clustering.protocol_implementations.compression, a ',' separated list with elements of type 'a string'.

Default value

causal_clustering.protocol_implementations.raft

Table 49. causal_clustering.protocol_implementations.raft

Description

Raft protocol implementation versions that this instance will allow in negotiation as a comma-separated list. Order is not relevant: the greatest value will be preferred. An empty list will allow all supported versions. Example value: "1.0, 1.3, 2.0, 2.1"

Valid values

causal_clustering.protocol_implementations.raft, a ',' separated list with elements of type 'an application protocol version'.

Default value

causal_clustering.pull_interval

Table 50. causal_clustering.pull_interval

Description

Interval of pulling updates from cores.

Valid values

causal_clustering.pull_interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1s

causal_clustering.raft_advertised_address

Table 51. causal_clustering.raft_advertised_address

Description

Advertised hostname/IP address and port for the RAFT server.

Valid values

causal_clustering.raft_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address

Default value

:7000

causal_clustering.raft_handler_parallelism

Table 52. causal_clustering.raft_handler_parallelism

Description

Limits amount of global threads shared by raft groups for handling bathing of messages and timeout events.

Valid values

causal_clustering.raft_handler_parallelism, an integer which is minimum 1

Default value

8

causal_clustering.raft_in_queue_max_batch_bytes

Table 53. causal_clustering.raft_in_queue_max_batch_bytes

Description

Largest batch processed by RAFT in bytes.

Valid values

causal_clustering.raft_in_queue_max_batch_bytes, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB)

Default value

8.00MiB

causal_clustering.raft_in_queue_max_bytes

Table 54. causal_clustering.raft_in_queue_max_bytes

Description

Maximum number of bytes in the RAFT in-queue.

Valid values

causal_clustering.raft_in_queue_max_bytes, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB)

Default value

2.00GiB

causal_clustering.raft_listen_address

Table 55. causal_clustering.raft_listen_address

Description

Network interface and port for the RAFT server to listen on.

Valid values

causal_clustering.raft_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:7000

causal_clustering.raft_log_entry_prefetch_buffer.max_entries

Table 56. causal_clustering.raft_log_entry_prefetch_buffer.max_entries

Description

The maximum number of entries in the raft log entry prefetch buffer.

Valid values

causal_clustering.raft_log_entry_prefetch_buffer.max_entries, an integer

Default value

1024

causal_clustering.raft_log_implementation

Table 57. causal_clustering.raft_log_implementation

Description

RAFT log implementation.

Valid values

causal_clustering.raft_log_implementation, a string

Default value

SEGMENTED

causal_clustering.raft_log_prune_strategy

Table 58. causal_clustering.raft_log_prune_strategy

Description

RAFT log pruning strategy that determines which logs are to be pruned. Neo4j only prunes log entries up to the last applied index, which guarantees that logs are only marked for pruning once the transactions within are safely copied over to the local transaction logs and safely committed by a majority of cluster members. Possible values are a byte size or a number of transactions (e.g., 200K txs).

Valid values

causal_clustering.raft_log_prune_strategy, a string

Default value

1g size

causal_clustering.raft_log_pruning_frequency

Table 59. causal_clustering.raft_log_pruning_frequency

Description

RAFT log pruning frequency.

Valid values

causal_clustering.raft_log_pruning_frequency, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10m

causal_clustering.raft_log_reader_pool_size

Table 60. causal_clustering.raft_log_reader_pool_size

Description

RAFT log reader pool size.

Valid values

causal_clustering.raft_log_reader_pool_size, an integer

Default value

8

causal_clustering.raft_log_rotation_size

Table 61. causal_clustering.raft_log_rotation_size

Description

RAFT log rotation size.

Valid values

causal_clustering.raft_log_rotation_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 1.00KiB

Default value

250.00MiB

causal_clustering.raft_membership_state_size

Table 62. causal_clustering.raft_membership_state_size

Description

The maximum file size before the membership state file is rotated (in unit of entries)

Valid values

causal_clustering.raft_membership_state_size, an integer

Default value

1000

causal_clustering.raft_term_state_size

Table 63. causal_clustering.raft_term_state_size

Description

The maximum file size before the term state file is rotated (in unit of entries)

Valid values

causal_clustering.raft_term_state_size, an integer

Default value

1000

causal_clustering.raft_vote_state_size

Table 64. causal_clustering.raft_vote_state_size

Description

The maximum file size before the vote state file is rotated (in unit of entries)

Valid values

causal_clustering.raft_vote_state_size, an integer

Default value

1000

causal_clustering.refuse_to_be_leader

Deprecated

Table 65. causal_clustering.refuse_to_be_leader

Description

Valid values

causal_clustering.refuse_to_be_leader, a boolean

Default value

false

Replaced by

causal_clustering.replicated_lease_state_size

Table 66. causal_clustering.replicated_lease_state_size

Description

The maximum file size before the replicated lease state file is rotated (in unit of entries)

Valid values

causal_clustering.replicated_lease_state_size, an integer

Default value

1000

causal_clustering.replication_leader_await_timeout

Table 67. causal_clustering.replication_leader_await_timeout

Description

The duration for which the replicator will await a new leader.

Valid values

causal_clustering.replication_leader_await_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10s

causal_clustering.replication_retry_timeout_base

Table 68. causal_clustering.replication_retry_timeout_base

Description

The initial timeout until replication is retried. The timeout will increase exponentially.

Valid values

causal_clustering.replication_retry_timeout_base, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10s

causal_clustering.replication_retry_timeout_limit

Table 69. causal_clustering.replication_retry_timeout_limit

Description

The upper limit for the exponentially incremented retry timeout.

Valid values

causal_clustering.replication_retry_timeout_limit, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1m

causal_clustering.server_groups

Dynamic

Table 70. causal_clustering.server_groups

Description

A list of group names for the server used when configuring load balancing and replication policies.

Valid values

causal_clustering.server_groups, a ',' separated list with elements of type 'a string identifying a Server Group'.

Default value

causal_clustering.state_machine_apply_max_batch_size

Table 71. causal_clustering.state_machine_apply_max_batch_size

Description

The maximum number of operations to be batched during applications of operations in the state machines.

Valid values

causal_clustering.state_machine_apply_max_batch_size, an integer

Default value

16

causal_clustering.state_machine_flush_window_size

Table 72. causal_clustering.state_machine_flush_window_size

Description

The number of operations to be processed before the state machines flush to disk.

Valid values

causal_clustering.state_machine_flush_window_size, an integer

Default value

4096

causal_clustering.status_throughput_window

Table 73. causal_clustering.status_throughput_window

Description

Sampling window for throughput estimate reported in the status endpoint.

Valid values

causal_clustering.status_throughput_window, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is in the range 1s to 5m

Default value

5s

causal_clustering.store_copy_chunk_size

Table 74. causal_clustering.store_copy_chunk_size

Description

Store copy chunk size.

Valid values

causal_clustering.store_copy_chunk_size, an integer which is in the range 4096 to 1048576

Default value

32768

causal_clustering.store_copy_max_retry_time_per_request

Table 75. causal_clustering.store_copy_max_retry_time_per_request

Description

Maximum retry time per request during store copy. Regular store files and indexes are downloaded in separate requests during store copy. This configures the maximum time failed requests are allowed to resend.

Valid values

causal_clustering.store_copy_max_retry_time_per_request, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

20m

causal_clustering.store_copy_parallelism

Table 76. causal_clustering.store_copy_parallelism

Description

Limits amount of global threads for store copy.

Valid values

causal_clustering.store_copy_parallelism, an integer which is minimum 1

Default value

8

causal_clustering.transaction_advertised_address

Table 77. causal_clustering.transaction_advertised_address

Description

Advertised hostname/IP address and port for the transaction shipping server.

Valid values

causal_clustering.transaction_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address.

Default value

:6000

causal_clustering.transaction_listen_address

Table 78. causal_clustering.transaction_listen_address

Description

Network interface and port for the transaction shipping server to listen on. Please note that it is also possible to run the backup client against this port so always limit access to it via the firewall and configure an ssl policy.

Valid values

causal_clustering.transaction_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:6000

causal_clustering.unknown_address_logging_throttle

Table 79. causal_clustering.unknown_address_logging_throttle

Description

Throttle limit for logging unknown cluster member address.

Valid values

causal_clustering.unknown_address_logging_throttle, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10s

causal_clustering.upstream_selection_strategy

Table 80. causal_clustering.upstream_selection_strategy

Description

An ordered list in descending preference of the strategy which read replicas use to choose the upstream server from which to pull transactional updates.

Valid values

causal_clustering.upstream_selection_strategy, a ',' separated list with elements of type 'a string'.

Default value

default

causal_clustering.user_defined_upstream_strategy

Table 81. causal_clustering.user_defined_upstream_strategy

Description

Configuration of a user-defined upstream selection strategy. The user-defined strategy is used if the list of strategies (causal_clustering.upstream_selection_strategy) includes the value user_defined.

Valid values

causal_clustering.user_defined_upstream_strategy, a string

Default value

Fabric settings

fabric.database.name

Table 82. fabric.database.name

Description

Name of the Fabric database. Only one Fabric database is currently supported per Neo4j instance.

Valid values

fabric.database.name, A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system'

fabric.driver.api

Table 83. fabric.driver.api

Description

Determines which driver API will be used. ASYNC must be used when the remote instance is 3.5.

Valid values

fabric.driver.api, one of [RX, ASYNC]

Default value

RX

fabric.driver.connection.connect_timeout

Table 84. fabric.driver.connection.connect_timeout

Description

Socket connection timeout. A timeout of zero is treated as an infinite timeout and will be bound by the timeout configured on the operating system level.

Valid values

fabric.driver.connection.connect_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5s

fabric.driver.connection.max_lifetime

Table 85. fabric.driver.connection.max_lifetime

Description

Pooled connections older than this threshold will be closed and removed from the pool. Setting this option to a low value will cause a high connection churn and might result in a performance hit. It is recommended to set maximum lifetime to a slightly smaller value than the one configured in network equipment (load balancer, proxy, firewall, etc. can also limit maximum connection lifetime). Zero and negative values result in lifetime not being checked.

Valid values

fabric.driver.connection.max_lifetime, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1h

fabric.driver.connection.pool.acquisition_timeout

Table 86. fabric.driver.connection.pool.acquisition_timeout

Description

Maximum amount of time spent attempting to acquire a connection from the connection pool. This timeout only kicks in when all existing connections are being used and no new connections can be created because maximum connection pool size has been reached. Error is raised when connection can’t be acquired within configured time. Negative values are allowed and result in unlimited acquisition timeout. Value of 0 is allowed and results in no timeout and immediate failure when connection is unavailable.

Valid values

fabric.driver.connection.pool.acquisition_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1m

fabric.driver.connection.pool.idle_test

Table 87. fabric.driver.connection.pool.idle_test

Description

Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still alive. If this option is set too low, an additional network call will be incurred when acquiring a connection, which causes a performance hit. If this is set high, no longer live connections might be used which might lead to errors. Hence, this parameter tunes a balance between the likelihood of experiencing connection problems and performance Normally, this parameter should not need tuning. Value 0 means connections will always be tested for validity.

Valid values

fabric.driver.connection.pool.idle_test, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

No connection liveliness check is done by default.

fabric.driver.connection.pool.max_size

Table 88. fabric.driver.connection.pool.max_size

Description

Maximum total number of connections to be managed by a connection pool. The limit is enforced for a combination of a host and user. Negative values are allowed and result in unlimited pool. Value of 0 is not allowed.

Valid values

fabric.driver.connection.pool.max_size, an integer

Default value

Unlimited

fabric.driver.logging.level

Table 89. fabric.driver.logging.level

Description

Sets level for driver internal logging.

Valid values

fabric.driver.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE]

Default value

Value of dbms.logs.debug.level

fabric.graph.<graph ID>.database

Table 90. fabric.graph.<graph ID>.database

Description

Name of the database associated to the Fabric graph.

Valid values

fabric.graph.<graph ID>.database, a string

Default value

The default database on the target DBMS. Typically 'Neo4j'

fabric.graph.<graph ID>.driver.api

Table 91. fabric.graph.<graph ID>.driver.api

Description

Determines which driver API will be used. ASYNC must be used when the remote instance is 3.5 This setting can be used as a graph-specific override of the global setting 'fabric.driver.api'

Valid values

fabric.graph.<graph ID>.driver.api, one of [RX, ASYNC]

fabric.graph.<graph ID>.driver.connection.connect_timeout

Table 92. fabric.graph.<graph ID>.driver.connection.connect_timeout

Description

Socket connection timeout. A timeout of zero is treated as an infinite timeout and will be bound by the timeout configured on the operating system level. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.connect_timeout'

Valid values

fabric.graph.<graph ID>.driver.connection.connect_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

fabric.graph.<graph ID>.driver.connection.max_lifetime

Table 93. fabric.graph.<graph ID>.driver.connection.max_lifetime

Description

Pooled connections older than this threshold will be closed and removed from the pool. Setting this option to a low value will cause a high connection churn and might result in a performance hit. It is recommended to set maximum lifetime to a slightly smaller value than the one configured in network equipment (load balancer, proxy, firewall, etc. can also limit maximum connection lifetime). Zero and negative values result in lifetime not being checked. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.max_lifetime'

Valid values

fabric.graph.<graph ID>.driver.connection.max_lifetime, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

fabric.graph.<graph ID>.driver.connection.pool.acquisition_timeout

Table 94. fabric.graph.<graph ID>.driver.connection.pool.acquisition_timeout

Description

Maximum amount of time spent attempting to acquire a connection from the connection pool. This timeout only kicks in when all existing connections are being used and no new connections can be created because maximum connection pool size has been reached. Error is raised when connection can’t be acquired within configured time. Negative values are allowed and result in unlimited acquisition timeout. Value of 0 is allowed and results in no timeout and immediate failure when connection is unavailable. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.pool.acquisition_timeout'

Valid values

fabric.graph.<graph ID>.driver.connection.pool.acquisition_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

fabric.graph.<graph ID>.driver.connection.pool.idle_test

Table 95. fabric.graph.<graph ID>.driver.connection.pool.idle_test

Description

Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still alive. If this option is set too low, an additional network call will be incurred when acquiring a connection, which causes a performance hit. If this is set high, no longer live connections might be used which might lead to errors. Hence, this parameter tunes a balance between the likelihood of experiencing connection problems and performance Normally, this parameter should not need tuning. Value 0 means connections will always be tested for validity. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.pool.idle_test'

Valid values

fabric.graph.<graph ID>.driver.connection.pool.idle_test, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

fabric.graph.<graph ID>.driver.connection.pool.max_size

Table 96. fabric.graph.<graph ID>.driver.connection.pool.max_size

Description

Maximum total number of connections to be managed by a connection pool. The limit is enforced for a combination of a host and user. Negative values are allowed and result in unlimited pool. Value of 0 is not allowed. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.pool.max_size'

Valid values

fabric.graph.<graph ID>.driver.connection.pool.max_size, an integer

fabric.graph.<graph ID>.driver.logging.leaked_sessions

Table 97. fabric.graph.<graph ID>.driver.logging.leaked_sessions

Description

Enables logging of leaked driver session.

Valid values

fabric.graph.<graph ID>.driver.logging.leaked_sessions, a boolean

fabric.graph.<graph ID>.driver.logging.level

Table 98. fabric.graph.<graph ID>.driver.logging.level

Description

Sets level for driver internal logging. This setting can be used as a graph-specific override of the global setting 'fabric.driver.logging.level'

Valid values

fabric.graph.<graph ID>.driver.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE]

fabric.graph.<graph ID>.driver.ssl_enabled

Table 99. fabric.graph.<graph ID>.driver.ssl_enabled

Description

SSL for Fabric drivers is configured using 'fabric' SSL policy.This setting can be used to instruct the driver not to use SSL even though 'fabric' SSL policy is configured.The driver will use SSL if 'fabric' SSL policy is configured and this setting is set to 'true'

Valid values

fabric.graph.<graph ID>.driver.ssl_enabled, a boolean

Default value

true

fabric.graph.<graph ID>.name

Table 100. fabric.graph.<graph ID>.name

Description

Name assigned to the Fabric graph. The name can be used in Fabric queries.

Valid values

fabric.graph.<graph ID>.name, A valid graph name. Containing only alphabetic characters, numbers, dots and dashes, with a length between 3 and 63 characters. It should be starting with an alphabetic character. The name 'graph' is reserved.

Table 101. fabric.graph.<graph ID>.uri

Description

URI of the Neo4j DBMS hosting the database associated to the Fabric graph. Example: neo4j://somewhere:7687 A comma separated list of URIs is acceptable. This is useful when the Fabric graph is hosted on a cluster and more that one bootstrap address needs to be provided in order to avoid a single point of failure. The provided addresses will be considered as an initial source of a routing table. Example: neo4j://core-1:1111,neo4j://core-2:2222.

Valid values

fabric.graph.<graph ID>.uri, a ',' separated list with elements of type 'a URI'.

fabric.routing.servers

Dynamic

Table 102. fabric.routing.servers

Description

A comma-separated list of Fabric instances that form a routing group. A driver will route transactions to available routing group members. A Fabric instance is represented by its Bolt connector address.

Valid values

fabric.routing.servers, a ',' separated list with elements of type 'a socket address in the format 'hostname:port', 'hostname' or ':port''.

fabric.routing.ttl

Table 103. fabric.routing.ttl

Description

The time to live (TTL) of a routing table for fabric routing group.

Valid values

fabric.routing.ttl, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1m

fabric.stream.buffer.low_watermark

Table 104. fabric.stream.buffer.low_watermark

Description

Number of records in prefetching buffer that will trigger prefetching again. This is strongly related to fabric.stream.buffer.size

Valid values

fabric.stream.buffer.low_watermark, an integer which is minimum 0

Default value

300

fabric.stream.buffer.size

Table 105. fabric.stream.buffer.size

Description

Maximal size of a buffer used for pre-fetching result records of remote queries. To compensate for latency to remote databases, the Fabric execution engine pre-fetches records needed for local executions. This limit is enforced per fabric query. If a fabric query uses multiple remote stream at the same time, this setting represents the maximal number of pre-fetched records counted together for all such remote streams.

Valid values

fabric.stream.buffer.size, an integer which is minimum 1

Default value

1000

fabric.stream.concurrency

Table 106. fabric.stream.concurrency

Description

Maximal concurrency within Fabric queries. Limits the number of iterations of each subquery that are executed concurrently. Higher concurrency may consume more memory and network resources simultaneously, while lower concurrency may force sequential execution, requiring more time.

Valid values

fabric.stream.concurrency, an integer which is minimum 1

Default value

The number of remote graphs

Connection settings

dbms.default_advertised_address

Table 107. dbms.default_advertised_address

Description

Default hostname or IP address the server uses to advertise itself.

Valid values

dbms.default_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port' which has no specified port

Default value

localhost

dbms.default_listen_address

Table 108. dbms.default_listen_address

Description

Default network interface to listen for incoming connections. To listen for connections on all interfaces, use "0.0.0.0".

Valid values

dbms.default_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port' which has no specified port

Default value

localhost

dbms.http_enabled_modules

Table 109. dbms.http_enabled_modules

Description

Defines the set of modules loaded into the Neo4j web server. Options include TRANSACTIONAL_ENDPOINTS, BROWSER, UNMANAGED_EXTENSIONS and ENTERPRISE_MANAGEMENT_ENDPOINTS (if applicable).

Valid values

dbms.http_enabled_modules, a ',' separated set with elements of type 'one of [TRANSACTIONAL_ENDPOINTS, UNMANAGED_EXTENSIONS, BROWSER, ENTERPRISE_MANAGEMENT_ENDPOINTS]'.

Default value

TRANSACTIONAL_ENDPOINTS,UNMANAGED_EXTENSIONS,BROWSER,ENTERPRISE_MANAGEMENT_ENDPOINTS

dbms.routing.advertised_address

Table 110. dbms.routing.advertised_address

Description

The advertised address for the intra-cluster routing connector.

Valid values

dbms.routing.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address

Default value

:7688

dbms.routing.client_side.enforce_for_domains

Dynamic

Table 111. dbms.routing.client_side.enforce_for_domains

Description

Always use client side routing (regardless of the default router) for neo4j:// protocol connections to these domains. A comma-separated list of domains. Wildcards (*) are supported.

Valid values

dbms.routing.client_side.enforce_for_domains, a ',' separated set with elements of type 'a string'.

Default value

dbms.routing.default_router

Table 112. dbms.routing.default_router

Description

Routing strategy for neo4j:// protocol connections. Default is CLIENT, using client-side routing, with server-side routing as a fallback (if enabled). When set to SERVER, client-side routing is short-circuited, and requests will rely on server-side routing (which must be enabled for proper operation, i.e. dbms.routing.enabled=true). Can be overridden by dbms.routing.client_side.enforce_for_domains.

Valid values

dbms.routing.default_router, one of [SERVER, CLIENT]

Default value

CLIENT

dbms.routing.driver.api

Table 113. dbms.routing.driver.api

Description

Determines which driver API will be used. ASYNC must be used when the remote instance is 3.5, but is only retained for backwards-compatibility reasons. RX should be used in all other cases.

Valid values

dbms.routing.driver.api, one of [RX, ASYNC]

Default value

RX

dbms.routing.driver.connection.connect_timeout

Table 114. dbms.routing.driver.connection.connect_timeout

Description

Socket connection timeout. A timeout of zero is treated as an infinite timeout and will be bound by the timeout configured on the operating system level.

Valid values

dbms.routing.driver.connection.connect_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5s

dbms.routing.driver.connection.max_lifetime

Table 115. dbms.routing.driver.connection.max_lifetime

Description

Pooled connections older than this threshold will be closed and removed from the pool. Setting this option to a low value will cause a high connection churn and might result in a performance hit. It is recommended to set maximum lifetime to a slightly smaller value than the one configured in network equipment (load balancer, proxy, firewall, etc. can also limit maximum connection lifetime). Zero and negative values result in lifetime not being checked.

Valid values

dbms.routing.driver.connection.max_lifetime, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1h

dbms.routing.driver.connection.pool.acquisition_timeout

Table 116. dbms.routing.driver.connection.pool.acquisition_timeout

Description

Maximum amount of time spent attempting to acquire a connection from the connection pool. This timeout only kicks in when all existing connections are being used and no new connections can be created because maximum connection pool size has been reached. Error is raised when connection can’t be acquired within configured time. Negative values are allowed and result in unlimited acquisition timeout. Value of 0 is allowed and results in no timeout and immediate failure when connection is unavailable.

Valid values

dbms.routing.driver.connection.pool.acquisition_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1m

dbms.routing.driver.connection.pool.idle_test

Table 117. dbms.routing.driver.connection.pool.idle_test

Description

Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still alive. If this option is set too low, an additional network call will be incurred when acquiring a connection, which causes a performance hit. If this is set high, no longer live connections might be used which might lead to errors. Hence, this parameter tunes a balance between the likelihood of experiencing connection problems and performance Normally, this parameter should not need tuning. Value 0 means connections will always be tested for validity.

Valid values

dbms.routing.driver.connection.pool.idle_test, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

No connection liveliness check is done by default.

dbms.routing.driver.connection.pool.max_size

Table 118. dbms.routing.driver.connection.pool.max_size

Description

Maximum total number of connections to be managed by a connection pool. The limit is enforced for a combination of a host and user. Negative values are allowed and result in unlimited pool. Value of 0 is not allowed.

Valid values

dbms.routing.driver.connection.pool.max_size, an integer

Default value

Unlimited

dbms.routing.driver.logging.level

Table 119. dbms.routing.driver.logging.level

Description

Sets level for driver internal logging.

Valid values

dbms.routing.driver.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE]

Default value

Value of dbms.logs.debug.level

dbms.routing.enabled

Table 120. dbms.routing.enabled

Description

Enable server-side routing in clusters using an additional bolt connector. When configured, this allows requests to be forwarded from one cluster member to another, if the requests can’t be satisfied by the first member (e.g. write requests received by a non-leader).

Valid values

dbms.routing.enabled, a boolean

Default value

false

dbms.routing.listen_address

Table 121. dbms.routing.listen_address

Description

The address the routing connector should bind to.

Valid values

dbms.routing.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:7688

dbms.routing_ttl

Table 122. dbms.routing_ttl

Description

How long callers should cache the response of the routing procedure dbms.routing.getRoutingTable()

Valid values

dbms.routing_ttl, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1s

Default value

5m

dbms.connector.bolt.advertised_address

Table 123. dbms.connector.bolt.advertised_address

Description

Advertised address for this connector.

Valid values

dbms.connector.bolt.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address

Default value

:7687

dbms.connector.bolt.connection_keep_alive

Table 124. dbms.connector.bolt.connection_keep_alive

Description

The maximum time to wait before sending a NOOP on connections waiting for responses from active ongoing queries.The minimum value is 1 millisecond.

Valid values

dbms.connector.bolt.connection_keep_alive, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1ms

Default value

1m

dbms.connector.bolt.connection_keep_alive_for_requests

Table 125. dbms.connector.bolt.connection_keep_alive_for_requests

Description

The type of messages to enable keep-alive messages for (ALL, STREAMING or OFF)

Valid values

dbms.connector.bolt.connection_keep_alive_for_requests, one of [ALL, STREAMING, OFF]

Default value

STREAMING

dbms.connector.bolt.connection_keep_alive_probes

Table 126. dbms.connector.bolt.connection_keep_alive_probes

Description

The total amount of probes to be missed before a connection is considered stale.The minimum for this value is 1.

Valid values

dbms.connector.bolt.connection_keep_alive_probes, an integer which is minimum 1

Default value

2

dbms.connector.bolt.connection_keep_alive_streaming_scheduling_interval

Table 127. dbms.connector.bolt.connection_keep_alive_streaming_scheduling_interval

Description

The interval between every scheduled keep-alive check on all connections with active queries. Zero duration turns off keep-alive service.

Valid values

dbms.connector.bolt.connection_keep_alive_streaming_scheduling_interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 0s

Default value

1m

dbms.connector.bolt.enabled

Table 128. dbms.connector.bolt.enabled

Description

Enable the bolt connector.

Valid values

dbms.connector.bolt.enabled, a boolean

Default value

true

dbms.connector.bolt.listen_address

Table 129. dbms.connector.bolt.listen_address

Description

Address the connector should bind to.

Valid values

dbms.connector.bolt.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:7687

dbms.connector.bolt.ocsp_stapling_enabled

Table 130. dbms.connector.bolt.ocsp_stapling_enabled

Description

Enable server OCSP stapling for bolt and http connectors.

Valid values

dbms.connector.bolt.ocsp_stapling_enabled, a boolean

Default value

false

dbms.connector.bolt.thread_pool_keep_alive

Table 131. dbms.connector.bolt.thread_pool_keep_alive

Description

The maximum time an idle thread in the thread pool bound to this connector will wait for new tasks.

Valid values

dbms.connector.bolt.thread_pool_keep_alive, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5m

dbms.connector.bolt.thread_pool_max_size

Table 132. dbms.connector.bolt.thread_pool_max_size

Description

The maximum number of threads allowed in the thread pool bound to this connector.

Valid values

dbms.connector.bolt.thread_pool_max_size, an integer

Default value

400

dbms.connector.bolt.thread_pool_min_size

Table 133. dbms.connector.bolt.thread_pool_min_size

Description

The number of threads to keep in the thread pool bound to this connector, even if they are idle.

Valid values

dbms.connector.bolt.thread_pool_min_size, an integer

Default value

5

dbms.connector.bolt.tls_level

Table 134. dbms.connector.bolt.tls_level

Description

Encryption level to require this connector to use.

Valid values

dbms.connector.bolt.tls_level, one of [REQUIRED, OPTIONAL, DISABLED]

Default value

DISABLED

dbms.connector.bolt.unsupported_thread_pool_shutdown_wait_time

Table 135. dbms.connector.bolt.unsupported_thread_pool_shutdown_wait_time

Description

The maximum time to wait for the thread pool to finish processing its pending jobs and shutdown.

Valid values

dbms.connector.bolt.unsupported_thread_pool_shutdown_wait_time, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5s

dbms.connector.http.advertised_address

Table 136. dbms.connector.http.advertised_address

Description

Advertised address for this connector.

Valid values

dbms.connector.http.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address

Default value

:7474

dbms.connector.http.enabled

Table 137. dbms.connector.http.enabled

Description

Enable the http connector.

Valid values

dbms.connector.http.enabled, a boolean

Default value

true

dbms.connector.http.listen_address

Table 138. dbms.connector.http.listen_address

Description

Address the connector should bind to.

Valid values

dbms.connector.http.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:7474

dbms.connector.https.advertised_address

Table 139. dbms.connector.https.advertised_address

Description

Advertised address for this connector.

Valid values

dbms.connector.https.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address

Default value

:7473

dbms.connector.https.enabled

Table 140. dbms.connector.https.enabled

Description

Enable the https connector.

Valid values

dbms.connector.https.enabled, a boolean

Default value

false

dbms.connector.https.listen_address

Table 141. dbms.connector.https.listen_address

Description

Address the connector should bind to.

Valid values

dbms.connector.https.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:7473

Cypher settings

cypher.default_language_version

Table 142. cypher.default_language_version

Description

Set this to specify the default parser (language version).

Valid values

cypher.default_language_version, one of [default, 3.5, 4.3, 4.4]

Default value

default

cypher.forbid_exhaustive_shortestpath

Table 143. cypher.forbid_exhaustive_shortestpath

Description

This setting is associated with performance optimization. Set this to true in situations where it is preferable to have any queries using the 'shortestPath' function terminate as soon as possible with no answer, rather than potentially running for a long time attempting to find an answer (even if there is no path to be found). For most queries, the 'shortestPath' algorithm will return the correct answer very quickly. However there are some cases where it is possible that the fast bidirectional breadth-first search algorithm will find no results even if they exist. This can happen when the predicates in the WHERE clause applied to 'shortestPath' cannot be applied to each step of the traversal, and can only be applied to the entire path. When the query planner detects these special cases, it will plan to perform an exhaustive depth-first search if the fast algorithm finds no paths. However, the exhaustive search may be orders of magnitude slower than the fast algorithm. If it is critical that queries terminate as soon as possible, it is recommended that this option be set to true, which means that Neo4j will never consider using the exhaustive search for shortestPath queries. However, please note that if no paths are found, an error will be thrown at run time, which will need to be handled by the application.

Valid values

cypher.forbid_exhaustive_shortestpath, a boolean

Default value

false

cypher.forbid_shortestpath_common_nodes

Table 144. cypher.forbid_shortestpath_common_nodes

Description

This setting is associated with performance optimization. The shortest path algorithm does not work when the start and end nodes are the same. With this setting set to false no path will be returned when that happens. The default value of true will instead throw an exception. This can happen if you perform a shortestPath search after a cartesian product that might have the same start and end nodes for some of the rows passed to shortestPath. If it is preferable to not experience this exception, and acceptable for results to be missing for those rows, then set this to false. If you cannot accept missing results, and really want the shortestPath between two common nodes, then re-write the query using a standard Cypher variable length pattern expression followed by ordering by path length and limiting to one result.

Valid values

cypher.forbid_shortestpath_common_nodes, a boolean

Default value

true

cypher.hints_error

Table 145. cypher.hints_error

Description

Set this to specify the behavior when Cypher planner or runtime hints cannot be fulfilled. If true, then non-conformance will result in an error, otherwise only a warning is generated.

Valid values

cypher.hints_error, a boolean

Default value

false

cypher.lenient_create_relationship

Table 146. cypher.lenient_create_relationship

Description

Set this to change the behavior for Cypher create relationship when the start or end node is missing. By default this fails the query and stops execution, but by setting this flag the create operation is simply not performed and execution continues.

Valid values

cypher.lenient_create_relationship, a boolean

Default value

false

cypher.min_replan_interval

Table 147. cypher.min_replan_interval

Description

The minimum time between possible cypher query replanning events. After this time, the graph statistics will be evaluated, and if they have changed by more than the value set by cypher.statistics_divergence_threshold, the query will be replanned. If the statistics have not changed sufficiently, the same interval will need to pass before the statistics will be evaluated again. Each time they are evaluated, the divergence threshold will be reduced slightly until it reaches 10% after 7h, so that even moderately changing databases will see query replanning after a sufficiently long time interval.

Valid values

cypher.min_replan_interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10s

cypher.planner

Table 148. cypher.planner

Description

Set this to specify the default planner for the default language version.

Valid values

cypher.planner, one of [DEFAULT, COST]

Default value

DEFAULT

cypher.statistics_divergence_threshold

Table 149. cypher.statistics_divergence_threshold

Description

The threshold for statistics above which a plan is considered stale.

If any of the underlying statistics used to create the plan have changed more than this value, the plan will be considered stale and will be replanned. Change is calculated as abs(a-b)/max(a,b).

This means that a value of 0.75 requires the database to quadruple in size before query replanning. A value of 0 means that the query will be replanned as soon as there is any change in statistics and the replan interval has elapsed.

This interval is defined by cypher.min_replan_interval and defaults to 10s. After this interval, the divergence threshold will slowly start to decline, reaching 10% after about 7h. This will ensure that long running databases will still get query replanning on even modest changes, while not replanning frequently unless the changes are very large.

Valid values

cypher.statistics_divergence_threshold, a double which is in the range 0.0 to 1.0

Default value

0.75

Database settings

dbms.filewatcher.enabled

Table 150. dbms.filewatcher.enabled

Description

Allows the enabling or disabling of the file watcher service. This is an auxiliary service but should be left enabled in almost all cases.

Valid values

dbms.filewatcher.enabled, a boolean

Default value

true

dbms.record_format

Table 151. dbms.record_format

Description

Database record format. Valid values are blank(no value, default), standard, aligned, or high_limit. Specifying a value will force new databases to that format and existing databases to migrate if dbms.allow_upgrade=true is specified. The aligned format is essentially the standard format with some minimal padding at the end of pages such that a single record will never cross a page boundary. The high_limit format is available for Enterprise Edition only. It is required if you have a graph that is larger than 34 billion nodes, 34 billion relationships, or 68 billion properties. A change of the record format is irreversible. Certain operations may suffer from a performance penalty of up to 10%, which is why this format is not switched on by default. However, if you want to change the configured record format value, you must also set dbms.allow_upgrade=true, because the setting implies a one-way store format migration.

Valid values

dbms.record_format, a string

Default value

aligned for new databases. Existing databases stay on their current format.

dbms.relationship_grouping_threshold

Table 152. dbms.relationship_grouping_threshold

Description

Relationship count threshold for considering a node to be dense.

Valid values

dbms.relationship_grouping_threshold, an integer which is minimum 1

Default value

50

dbms.store.files.preallocate

Table 153. dbms.store.files.preallocate

Description

Specify if Neo4j should try to preallocate store files as they grow.

Valid values

dbms.store.files.preallocate, a boolean

Default value

true

db.temporal.timezone

Table 154. db.temporal.timezone

Description

Database timezone for temporal functions. All Time and DateTime values that are created without an explicit timezone will use this configured default timezone.

Valid values

db.temporal.timezone, a string describing a timezone, either described by offset (e.g. +02:00) or by name (e.g. Europe/Stockholm)

Default value

Z

dbms.track_query_cpu_time

Enterprise Edition Dynamic

Table 155. dbms.track_query_cpu_time

Description

Enables or disables tracking of how much time a query spends actively executing on the CPU. Calling dbms.listQueries will display the time.
This can also be logged in the query log by using dbms.logs.query.time_logging_enabled. .

Valid values

dbms.track_query_cpu_time, a boolean

Default value

false

dbms.track_query_allocation

Dynamic

Table 156. dbms.track_query_allocation

Description

Enables or disables tracking of how many bytes are allocated by the execution of a query. If enabled, calling dbms.listQueries will display the allocated bytes. This can also be logged in the query log by using dbms.logs.query.allocation_logging_enabled.

Valid values

dbms.track_query_allocation, a boolean

Default value

true

DBMS settings

dbms.backup.enabled

Table 157. dbms.backup.enabled

Description

Enable support for running online backups.

Valid values

dbms.backup.enabled, a boolean

Default value

true

dbms.backup.incremental.strategy

Dynamic

Table 158. dbms.backup.incremental.strategy

Description

Strategy for incremental backup. START_TIME means that this server will send transactions until the time of when the backup started has been reached. UNBOUNDED will keep sending until all committed transactions have been sent, even if they where committed after the backup job started.

Valid values

dbms.backup.incremental.strategy, one of [UNBOUNDED, START_TIME]

Default value

UNBOUNDED

dbms.backup.listen_address

Table 159. dbms.backup.listen_address

Description

Network interface and port for the backup server to listen on.

Valid values

dbms.backup.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'

Default value

127.0.0.1:6362

dbms.config.strict_validation

Table 160. dbms.config.strict_validation

Description

A strict configuration validation will prevent the database from starting up if unknown configuration options are specified in the neo4j settings namespace (such as dbms., cypher., etc).

Valid values

dbms.config.strict_validation, a boolean

Default value

false

dbms.databases.default_to_read_only

Dynamic

Table 161. dbms.databases.default_to_read_only

Description

Whether or not any database on this instance are read_only by default. If false, individual databases may be marked as read_only using dbms.database.read_only. If true, individual databases may be marked as writable using dbms.databases.writable.

Valid values

dbms.databases.default_to_read_only, a boolean

Default value

false

dbms.databases.read_only

Dynamic

Table 162. dbms.databases.read_only

Description

List of databases for which to prevent write queries. Databases not included in this list maybe read_only anyway depending upon the value of dbms.databases.default_to_read_only.

Valid values

dbms.databases.read_only, a ',' separated set with elements of type 'A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system''. which Value 'system' can’t be included in read only databases collection!

Default value

dbms.databases.writable

Dynamic

Table 163. dbms.databases.writable

Description

List of databases for which to allow write queries. Databases not included in this list will allow write queries anyway, unless dbms.databases.default_to_read_only is set to true.

Valid values

dbms.databases.writable, a ',' separated set with elements of type 'A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system''.

Default value

dbms.dynamic.setting.allowlist

Table 164. dbms.dynamic.setting.allowlist

Description

A list of setting name patterns (comma separated) that are allowed to be dynamically changed. The list may contain both full setting names, and partial names with the wildcard '*'. If this setting is left empty all dynamic settings updates will be blocked.

Valid values

dbms.dynamic.setting.allowlist, a ',' separated list with elements of type 'a string'.

Default value

*

dbms.dynamic.setting.whitelist

Deprecated in 4.2

Table 165. dbms.dynamic.setting.whitelist

Description

A list of setting name patterns (comma separated) that are allowed to be dynamically changed. The list may contain both full setting names, and partial names with the wildcard '*'. If this setting is left empty all dynamic settings updates will be blocked.

Valid values

dbms.dynamic.setting.whitelist, a ',' separated list with elements of type 'a string'.

Replaced by

Default value

*

dbms.jvm.additional

Table 166. dbms.jvm.additional

Description

Additional JVM arguments. Argument order can be significant. To use a Java commercial feature, the argument to unlock commercial features must precede the argument to enable the specific feature in the config value string.

Valid values

dbms.jvm.additional, one or more jvm arguments

dbms.panic.shutdown_on_panic

Enterprise Edition

Table 167. dbms.panic.shutdown_on_panic

Description

If there is a Database Management System Panic (an irrecoverable error) should the neo4j process shut down or continue running. Following a DbMS panic it is likely that a significant amount of functionality will be lost. Recovering full functionality will require a Neo4j restart. This feature is available in Neo4j Enterprise Edition.

Valid values

dbms.panic.shutdown_on_panic, a boolean

Default value

false except for Neo4j Enterprise Edition deployments running on Kubernetes where it is true.

dbms.threads.worker_count

Table 168. dbms.threads.worker_count

Description

Number of Neo4j worker threads. This setting is only valid for REST, and does not influence bolt-server. It sets the amount of worker threads for the Jetty server used by neo4j-server. This option can be tuned when you plan to execute multiple, concurrent REST requests, with the aim of getting more throughput from the database. Your OS might enforce a lower limit than the maximum value specified here.

Valid values

dbms.threads.worker_count, an integer which is in the range 1 to 44738

Default value

Number of available processors, or 500 for machines which have more than 500 processors.

dbms.unmanaged_extension_classes

Table 169. dbms.unmanaged_extension_classes

Description

Comma-separated list of <classname>=<mount point> for unmanaged extensions.

Valid values

dbms.unmanaged_extension_classes, a ',' separated list with elements of type '<classname>=<mount point> string'.

Default value

dbms.upgrade_max_processors

Dynamic

Table 170. dbms.upgrade_max_processors

Description

Max number of processors used when upgrading the store. Defaults to the number of processors available to the JVM. There is a certain amount of minimum threads needed so for that reason there is no lower bound for this value. For optimal performance this value shouldn’t be greater than the number of available processors.

Valid values

dbms.upgrade_max_processors, an integer which is minimum 0

Default value

0

dbms.windows_service_name

Table 171. dbms.windows_service_name

Description

Name of the Windows Service managing Neo4j when installed using neo4j install-service. Only applicable on Windows OS. Note: This must be unique for each individual installation.

Valid values

dbms.windows_service_name, a string

Default value

neo4j

dbms.default_database

Table 172. dbms.default_database

Description

Name of the default database (aliases are not supported).

Valid values

dbms.default_database, A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system'

Default value

neo4j

dbms.db.timezone

Table 173. dbms.db.timezone

Description

Database timezone. Among other things, this setting influences which timezone the logs and monitoring procedures use.

Valid values

dbms.db.timezone, one of [UTC, SYSTEM]

Default value

UTC

dbms.max_databases

Table 174. dbms.max_databases

Description

The maximum number of databases.

Valid values

dbms.max_databases, a long which is minimum 2

Default value

100

dbms.mode

Table 175. dbms.mode

Description

Configure the operating mode of the database — 'SINGLE' for stand-alone operation, 'CORE' for operating as a core member of a Causal Cluster, or 'READ_REPLICA' for operating as a read replica member of a Causal Cluster. Only SINGLE mode is allowed in Community.

Valid values

dbms.mode, one of [SINGLE, CORE, READ_REPLICA]

Default value

SINGLE

dbms.read_only

Deprecated

Table 176. dbms.read_only

Description

Only allow read operations from this Neo4j instance. This mode still requires write access to the directory for lock purposes.

Valid values

dbms.read_only, a boolean

Default value

false

Replaced by

dbms.clustering.enable

Deprecated

Table 177. dbms.clustering.enable

Description

Enable discovery service and a catchup server to be started on an Enterprise Standalone Instance 'dbms.mode=SINGLE', and with that allow for Read Replicas to connect and pull transaction from it. When 'dbms.mode' is clustered (CORE, READ_REPLICA) this setting is not recognized.

Valid values

dbms.clustering.enable, a boolean

Default value

false

Table 178. dbms.allow_single_automatic_upgrade Dynamic

Description

Whether to allow a system graph upgrade to happen automatically in single instance mode (dbms.mode=SINGLE). Default is true. In clustering environments no automatic upgrade will happen (dbms.mode=CORE or dbms.mode=READ_REPLICA). If set to false, or when in a clustering environment, it is necessary to call the procedure dbms.upgrade() to complete the upgrade.

Valid values

dbms.allow_single_automatic_upgrade, a boolean

Default value

true

dbms.allow_upgrade

Dynamic

Table 179. dbms.allow_upgrade

Description

Whether to allow a store upgrade in case the current version of the database starts against an older version of the store.

Valid values

dbms.allow_upgrade, a boolean

Default value

false

dbms.reconciler.max_backoff

Table 180. dbms.reconciler.max_backoff

Description

Defines the maximum amount of time to wait before retrying after the dbms fails to reconcile a database to its desired state.

Valid values

dbms.reconciler.max_backoff, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1m

Default value

1h

dbms.reconciler.max_parallelism

Table 181. dbms.reconciler.max_parallelism

Description

Defines the level of parallelism employed by the reconciler. By default the parallelism equals the number of available processors or 8 (whichever is smaller). If configured as 0, the parallelism of the reconciler will be unbounded.

Valid values

dbms.reconciler.max_parallelism, an integer which is minimum 0

Default value

8

dbms.reconciler.may_retry

Table 182. dbms.reconciler.may_retry

Description

Defines whether the dbms may retry reconciling a database to its desired state.

Valid values

dbms.reconciler.may_retry, a boolean

Default value

false

dbms.reconciler.min_backoff

Table 183. dbms.reconciler.min_backoff

Description

Defines the minimum amount of time to wait before retrying after the dbms fails to reconcile a database to its desired state.

Valid values

dbms.reconciler.min_backoff, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1s

Default value

2s

dbms.directories.cluster_state

Table 184. dbms.directories.cluster_state

Description

Directory to hold cluster state including Raft log.

Valid values

dbms.directories.cluster_state, a path. If relative it is resolved from dbms.directories.data

Default value

cluster-state

dbms.directories.data

Table 185. dbms.directories.data

Description

Path of the data directory. You must not configure more than one Neo4j installation to use the same data directory.

Valid values

dbms.directories.data, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

data

dbms.directories.dumps.root

Table 186. dbms.directories.dumps.root

Description

Root location where Neo4j will store database dumps optionally produced when dropping said databases.

Valid values

dbms.directories.dumps.root, a path. If relative it is resolved from dbms.directories.data

Default value

dumps

dbms.directories.import

Table 187. dbms.directories.import

Description

Sets the root directory for file URLs used with the Cypher LOAD CSV clause. This should be set to a directory relative to the Neo4j installation path, restricting access to only those files within that directory and its subdirectories. For example the value "import" will only enable access to files within the 'import' folder. Removing this setting will disable the security feature, allowing all files in the local system to be imported. Setting this to an empty field will allow access to all files within the Neo4j installation folder.

Valid values

dbms.directories.import, a path. If relative it is resolved from dbms.directories.neo4j_home

dbms.directories.lib

Table 188. dbms.directories.lib

Description

Path of the lib directory.

Valid values

dbms.directories.lib, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

lib

dbms.directories.licenses

Table 189. dbms.directories.licenses

Description

Path of the licenses directory.

Valid values

dbms.directories.licenses, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

licenses

dbms.directories.logs

Table 190. dbms.directories.logs

Description

Path of the logs directory.

Valid values

dbms.directories.logs, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

logs

dbms.directories.metrics

Table 191. dbms.directories.metrics

Description

The target location of the CSV files: a path to a directory wherein a CSV file per reported field will be written.

Valid values

dbms.directories.metrics, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

metrics

dbms.directories.neo4j_home

Table 192. dbms.directories.neo4j_home

Description

Root relative to which directory settings are resolved.

Valid values

dbms.directories.neo4j_home, a path which is absolute

Default value

Defaults to current working directory

dbms.directories.plugins

Table 193. dbms.directories.plugins

Description

Location of the database plugin directory. Compiled Java JAR files that contain database procedures will be loaded if they are placed in this directory.

Valid values

dbms.directories.plugins, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

plugins

dbms.directories.run

Table 194. dbms.directories.run

Description

Path of the run directory. This directory holds Neo4j’s runtime state, such as a pidfile when it is running in the background. The pidfile is created when starting neo4j and removed when stopping it. It may be placed on an in-memory filesystem such as tmpfs.

Valid values

dbms.directories.run, a path. If relative it is resolved from dbms.directories.neo4j_home

Default value

run

dbms.directories.script.root

Table 195. dbms.directories.script.root

Description

Root location where Neo4j will store scripts for configured databases.

Valid values

dbms.directories.script.root, a path. If relative it is resolved from dbms.directories.data

Default value

scripts

dbms.directories.transaction.logs.root

Table 196. dbms.directories.transaction.logs.root

Description

Root location where Neo4j will store transaction logs for configured databases.

Valid values

dbms.directories.transaction.logs.root, a path. If relative it is resolved from dbms.directories.data

Default value

transactions

Import settings

dbms.import.csv.buffer_size

Table 197. dbms.import.csv.buffer_size

Description

The size of the internal buffer in bytes used by LOAD CSV. If the csv file contains huge fields this value may have to be increased.

Valid values

dbms.import.csv.buffer_size, a long which is minimum 1

Default value

2097152

dbms.import.csv.legacy_quote_escaping

Table 198. dbms.import.csv.legacy_quote_escaping

Description

Selects whether to conform to the standard https://tools.ietf.org/html/rfc4180 for interpreting escaped quotation characters in CSV files loaded using LOAD CSV. Setting this to false will use the standard, interpreting repeated quotes '""' as a single in-lined quote, while true will use the legacy convention originally supported in Neo4j 3.0 and 3.1, allowing a backslash to include quotes in-lined in fields.

Valid values

dbms.import.csv.legacy_quote_escaping, a boolean

Default value

true

Index settings

dbms.index.default_schema_provider

Deprecated

Table 199. dbms.index.default_schema_provider

Description

Index provider to use for newly created schema indexes. An index provider may store different value types in separate physical indexes. native-btree-1.0: All value types and arrays of all value types, even composite keys, are stored in one native index. lucene+native-3.0: Like native-btree-1.0 but single property strings are stored in Lucene. A native index has faster updates, less heap and CPU usage compared to a Lucene index. A native index has some limitations around key size and slower execution of CONTAINS and ENDS WITH string index queries, compared to a Lucene index. Deprecated: Which index provider to use will be a fully internal concern.

Valid values

dbms.index.default_schema_provider, a string

Default value

native-btree-1.0

dbms.index.fulltext.default_analyzer

Table 200. dbms.index.fulltext.default_analyzer

Description

The name of the analyzer that the fulltext indexes should use by default.

Valid values

dbms.index.fulltext.default_analyzer, a string

Default value

standard-no-stop-words

dbms.index.fulltext.eventually_consistent

Table 201. dbms.index.fulltext.eventually_consistent

Description

Whether or not fulltext indexes should be eventually consistent by default or not.

Valid values

dbms.index.fulltext.eventually_consistent, a boolean

Default value

false

dbms.index.fulltext.eventually_consistent_index_update_queue_max_length

Table 202. dbms.index.fulltext.eventually_consistent_index_update_queue_max_length

Description

The eventually_consistent mode of the fulltext indexes works by queueing up index updates to be applied later in a background thread. This newBuilder sets an upper bound on how many index updates are allowed to be in this queue at any one point in time. When it is reached, the commit process will slow down and wait for the index update applier thread to make some more room in the queue.

Valid values

dbms.index.fulltext.eventually_consistent_index_update_queue_max_length, an integer which is in the range 1 to 50000000

Default value

10000

dbms.index_sampling.background_enabled

Table 203. dbms.index_sampling.background_enabled

Description

Enable or disable background index sampling.

Valid values

dbms.index_sampling.background_enabled, a boolean

Default value

true

dbms.index_sampling.sample_size_limit

Table 204. dbms.index_sampling.sample_size_limit

Description

Index sampling chunk size limit.

Valid values

dbms.index_sampling.sample_size_limit, an integer which is in the range 1048576 to 2147483647

Default value

8388608

dbms.index_sampling.update_percentage

Table 205. dbms.index_sampling.update_percentage

Description

Percentage of index updates of total index size required before sampling of a given index is triggered.

Valid values

dbms.index_sampling.update_percentage, an integer which is minimum 0

Default value

5

dbms.index_searcher_cache_size

Deprecated

Table 206. dbms.index_searcher_cache_size

Description

The maximum number of open Lucene index searchers.

Valid values

dbms.index_searcher_cache_size, an integer which is minimum 1

Default value

2147483647

Logging settings

dbms.logs.debug.format

Table 207. dbms.logs.debug.format

Description

Log format to use for debug log.

Valid values

dbms.logs.debug.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format

dbms.logs.debug.level

Dynamic

Table 208. dbms.logs.debug.level

Description

Debug log level threshold.

Valid values

dbms.logs.debug.level, one of [DEBUG, INFO, WARN, ERROR, NONE]

Default value

INFO

dbms.logs.debug.path

Table 209. dbms.logs.debug.path

Description

Path to the debug log file.

Valid values

dbms.logs.debug.path, a path. If relative it is resolved from dbms.directories.logs

Default value

debug.log

dbms.logs.debug.rotation.delay

Deprecated

Table 210. dbms.logs.debug.rotation.delay

Description

Minimum time interval after last rotation of the debug log before it may be rotated again.

Valid values

dbms.logs.debug.rotation.delay, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5m

dbms.logs.debug.rotation.keep_number

Table 211. dbms.logs.debug.rotation.keep_number

Description

Maximum number of history files for the debug log.

Valid values

dbms.logs.debug.rotation.keep_number, an integer which is minimum 1

Default value

7

dbms.logs.debug.rotation.size

Table 212. dbms.logs.debug.rotation.size

Description

Threshold for rotation of the debug log.

Valid values

dbms.logs.debug.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is in the range 0B to 8388608.00TiB

Default value

20.00MiB

dbms.logs.default_format

Table 213. dbms.logs.default_format

Description

Default log format. Will apply to all logs unless overridden.

Valid values

dbms.logs.default_format, one of [PLAIN, JSON]

Default value

PLAIN

dbms.logs.gc.enabled

Table 214. dbms.logs.gc.enabled

Description

Enable GC Logging.

Valid values

dbms.logs.gc.enabled, a boolean

Default value

false

dbms.logs.gc.options

Table 215. dbms.logs.gc.options

Description

GC Logging Options.

Valid values

dbms.logs.gc.options, a string

Default value

-Xlog:gc*,safepoint,age*=trace

dbms.logs.gc.rotation.keep_number

Table 216. dbms.logs.gc.rotation.keep_number

Description

Number of GC logs to keep.

Valid values

dbms.logs.gc.rotation.keep_number, an integer

Default value

5

dbms.logs.gc.rotation.size

Table 217. dbms.logs.gc.rotation.size

Description

Size of each GC log that is kept.

Valid values

dbms.logs.gc.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB)

Default value

20.00MiB

dbms.logs.http.enabled

Table 218. dbms.logs.http.enabled

Description

Enable HTTP request logging.

Valid values

dbms.logs.http.enabled, a boolean

Default value

false

dbms.logs.http.format

Table 219. dbms.logs.http.format

Description

Log format to use for http logs.

Valid values

dbms.logs.http.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format

dbms.logs.http.path

Table 220. dbms.logs.http.path

Description

Path to HTTP request log.

Valid values

dbms.logs.http.path, a path. If relative it is resolved from dbms.directories.logs

Default value

http.log

dbms.logs.http.rotation.keep_number

Table 221. dbms.logs.http.rotation.keep_number

Description

Number of HTTP logs to keep.

Valid values

dbms.logs.http.rotation.keep_number, an integer

Default value

5

dbms.logs.http.rotation.size

Table 222. dbms.logs.http.rotation.size

Description

Size of each HTTP log that is kept.

Valid values

dbms.logs.http.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is in the range 0B to 8388608.00TiB

Default value

20.00MiB

dbms.logs.query.allocation_logging_enabled

Dynamic

Table 223. dbms.logs.query.allocation_logging_enabled

Description

Log allocated bytes for the executed queries being logged. The logged number is cumulative over the duration of the query, i.e. for memory intense or long-running queries the value may be larger than the current memory allocation. Requires dbms.track_query_allocation=true

Valid values

dbms.logs.query.allocation_logging_enabled, a boolean

Default value

true

dbms.logs.query.early_raw_logging_enabled

Dynamic

Table 224. dbms.logs.query.early_raw_logging_enabled

Description

Log query text and parameters without obfuscating passwords. This allows queries to be logged earlier before parsing starts.

Valid values

dbms.logs.query.early_raw_logging_enabled, a boolean

Default value

false

dbms.logs.query.enabled

Dynamic Enterprise Edition

Table 225. dbms.logs.query.enabled

Description

Log executed queries. Valid values are OFF, INFO, or VERBOSE.

OFF

no logging.

INFO

log queries at the end of execution, that take longer than the configured threshold, dbms.logs.query.threshold.

VERBOSE

log queries at the start and end of execution, regardless of dbms.logs.query.threshold.

Log entries are written to the query log (dbms.logs.query.path).

This feature is available in the Neo4j Enterprise Edition.

Valid values

dbms.logs.query.enabled, one of [OFF, INFO, VERBOSE]

Default value

VERBOSE

dbms.logs.query.format

Table 226. dbms.logs.query.format

Description

Log format to use for the query log.

Valid values

dbms.logs.query.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format

dbms.logs.query.max_parameter_length

Dynamic

Table 227. dbms.logs.query.max_parameter_length

Description

Sets a maximum character length use for each parameter in the log. This only takes effect if dbms.logs.query.parameter_logging_enabled = true.

Valid values

dbms.logs.query.max_parameter_length, an integer

Default value

2147483647

dbms.logs.query.obfuscate_literals

Dynamic

Table 228. dbms.logs.query.obfuscate_literals

Description

Obfuscates all literals of the query before writing to the log. Note that node labels, relationship types and map property keys are still shown. Changing the setting will not affect queries that are cached. So, if you want the switch to have immediate effect, you must also call CALL db.clearQueryCaches().

Valid values

dbms.logs.query.obfuscate_literals, a boolean

Default value

false

dbms.logs.query.page_logging_enabled

Dynamic

Table 229. dbms.logs.query.page_logging_enabled

Description

Log page hits and page faults for the executed queries being logged.

Valid values

dbms.logs.query.page_logging_enabled, a boolean

Default value

false

dbms.logs.query.parameter_full_entities

Dynamic

Table 230. dbms.logs.query.parameter_full_entities

Description

Log complete parameter entities including id, labels or relationship type, and properties. If false, only the entity id will be logged. This only takes effect if dbms.logs.query.parameter_logging_enabled = true.

Valid values

dbms.logs.query.parameter_full_entities, a boolean

Default value

false

dbms.logs.query.parameter_logging_enabled

Dynamic

Table 231. dbms.logs.query.parameter_logging_enabled

Description

Log parameters for the executed queries being logged.

Valid values

dbms.logs.query.parameter_logging_enabled, a boolean

Default value

true

dbms.logs.query.path

Table 232. dbms.logs.query.path

Description

Path to the query log file.

Valid values

dbms.logs.query.path, a path. If relative it is resolved from dbms.directories.logs

Default value

query.log

dbms.logs.query.plan_description_enabled

Dynamic

Table 233. dbms.logs.query.plan_description_enabled

Description

Log query plan description table, useful for debugging purposes.

Valid values

dbms.logs.query.plan_description_enabled, a boolean

Default value

false

dbms.logs.query.rotation.keep_number

Dynamic

Table 234. dbms.logs.query.rotation.keep_number

Description

Maximum number of history files for the query log.

Valid values

dbms.logs.query.rotation.keep_number, an integer which is minimum 1

Default value

7

dbms.logs.query.rotation.size

Dynamic

Table 235. dbms.logs.query.rotation.size

Description

The file size in bytes at which the query log will auto-rotate. If set to zero then no rotation will occur. Accepts a binary suffix k, m or g.

Valid values

dbms.logs.query.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is in the range 0B to 8388608.00TiB

Default value

20.00MiB

dbms.logs.query.runtime_logging_enabled

Dynamic

Table 236. dbms.logs.query.runtime_logging_enabled

Description

Logs which runtime that was used to run the query.

Valid values

dbms.logs.query.runtime_logging_enabled, a boolean

Default value

true

dbms.logs.query.threshold

Dynamic

Table 237. dbms.logs.query.threshold

Description

If the execution of query takes more time than this threshold, the query is logged once completed - provided query logging is set to INFO. Defaults to 0 seconds, that is all queries are logged.

Valid values

dbms.logs.query.threshold, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

0s

dbms.logs.query.time_logging_enabled

Dynamic

Table 238. dbms.logs.query.time_logging_enabled

Description

Log detailed time information for the executed queries being logged, such as (planning: 92, waiting: 0).

Valid values

dbms.logs.query.time_logging_enabled, a boolean

Default value

false

dbms.logs.query.transaction.enabled

Dynamic Enterprise Edition

Table 239. dbms.logs.query.transaction.enabled

Description

Log the start and end of a transaction. Valid values are 'OFF', 'INFO', or 'VERBOSE'. OFF: no logging. INFO: log start and end of transactions that take longer than the configured threshold, dbms.logs.query.transaction.threshold. VERBOSE: log start and end of all transactions. Log entries are written to the query log (dbms.logs.query.path). This feature is available in the Neo4j Enterprise Edition.

Valid values

dbms.logs.query.transaction.enabled, one of [OFF, INFO, VERBOSE]

Default value

OFF

dbms.logs.query.transaction.threshold

Dynamic

Table 240. dbms.logs.query.transaction.threshold

Description

If the transaction is open for more time than this threshold, the transaction is logged once completed - provided transaction logging (dbms.logs.query.transaction.enabled) is set to INFO. Defaults to 0 seconds (all transactions are logged).

Valid values

dbms.logs.query.transaction.threshold, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

0s

dbms.logs.query.transaction_id.enabled

Dynamic

Table 241. dbms.logs.query.transaction_id.enabled

Description

Log transaction ID for the executed queries.

Valid values

dbms.logs.query.transaction_id.enabled, a boolean

Default value

false

dbms.logs.security.format

Table 242. dbms.logs.security.format

Description

Log format to use for security log.

Valid values

dbms.logs.security.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format

dbms.logs.security.level

Table 243. dbms.logs.security.level

Description

Security log level threshold.

Valid values

dbms.logs.security.level, one of [DEBUG, INFO, WARN, ERROR, NONE]

Default value

INFO

dbms.logs.security.path

Table 244. dbms.logs.security.path

Description

Path to the security log file.

Valid values

dbms.logs.security.path, a path. If relative it is resolved from dbms.directories.logs

Default value

security.log

dbms.logs.security.rotation.delay

Deprecated

Table 245. dbms.logs.security.rotation.delay

Description

Minimum time interval after last rotation of the security log before it may be rotated again.

Valid values

dbms.logs.security.rotation.delay, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5m

dbms.logs.security.rotation.keep_number

Table 246. dbms.logs.security.rotation.keep_number

Description

Maximum number of history files for the security log.

Valid values

dbms.logs.security.rotation.keep_number, an integer which is minimum 1

Default value

7

dbms.logs.security.rotation.size

Table 247. dbms.logs.security.rotation.size

Description

Threshold for rotation of the security log.

Valid values

dbms.logs.security.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is in the range 0B to 8388608.00TiB

Default value

20.00MiB

dbms.logs.user.format

Table 248. dbms.logs.user.format

Description

Log format to use for user log.

Valid values

dbms.logs.user.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format

dbms.logs.user.path

Table 249. dbms.logs.user.path

Description

Path to the user log file. Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored.

Valid values

dbms.logs.user.path, a path. If relative it is resolved from dbms.directories.logs

Default value

neo4j.log

dbms.logs.user.rotation.delay

Deprecated

Table 250. dbms.logs.user.rotation.delay

Description

Minimum time interval after last rotation of the user log (neo4j.log) before it may be rotated again. Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored.

Valid values

dbms.logs.user.rotation.delay, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

5m

dbms.logs.user.rotation.keep_number

Table 251. dbms.logs.user.rotation.keep_number

Description

Maximum number of history files for the user log (neo4j.log). Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored.

Valid values

dbms.logs.user.rotation.keep_number, an integer which is minimum 1

Default value

7

dbms.logs.user.rotation.size

Table 252. dbms.logs.user.rotation.size

Description

Threshold for rotation of the user log (neo4j.log). If set to 0, log rotation is disabled. Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored.

Valid values

dbms.logs.user.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is in the range 0B to 8388608.00TiB

Default value

0B

dbms.logs.user.stdout_enabled

Table 253. dbms.logs.user.stdout_enabled

Description

Send user logs to the process stdout. If this is disabled then logs will instead be sent to the file neo4j.log located in the logs directory.

Valid values

dbms.logs.user.stdout_enabled, a boolean

Default value

true

Memory settings

dbms.memory.heap.initial_size

Table 254. dbms.memory.heap.initial_size

Description

Initial heap size. By default it is calculated based on available system resources.

Valid values

dbms.memory.heap.initial_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB)

dbms.memory.heap.max_size

Table 255. dbms.memory.heap.max_size

Description

Maximum heap size. By default it is calculated based on available system resources.

Valid values

dbms.memory.heap.max_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB)

dbms.memory.off_heap.block_cache_size

Table 256. dbms.memory.off_heap.block_cache_size

Description

Defines the size of the off-heap memory blocks cache. The cache will contain this number of blocks for each block size that is power of two. Thus, maximum amount of memory used by blocks cache can be calculated as 2 * dbms.memory.off_heap.max_cacheable_block_size * dbms.memory.off_heap.block_cache_size

Valid values

dbms.memory.off_heap.block_cache_size, an integer which is minimum 16

Default value

128

dbms.memory.off_heap.max_cacheable_block_size

Table 257. dbms.memory.off_heap.max_cacheable_block_size

Description

Defines the maximum size of an off-heap memory block that can be cached to speed up allocations. The value must be a power of 2.

Valid values

dbms.memory.off_heap.max_cacheable_block_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 4.00KiB and is power of 2

Default value

512.00KiB

dbms.memory.off_heap.max_size

Table 258. dbms.memory.off_heap.max_size

Description

The maximum amount of off-heap memory that can be used to store transaction state data; it’s a total amount of memory shared across all active transactions. Zero means 'unlimited'. Used when dbms.tx_state.memory_allocation is set to 'OFF_HEAP'.

Valid values

dbms.memory.off_heap.max_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 0B

Default value

2.00GiB

dbms.memory.pagecache.directio

Table 259. dbms.memory.pagecache.directio

Description

Use direct I/O for page cache. Setting is supported only on Linux and only for a subset of record formats that use platform aligned page size.

Valid values

dbms.memory.pagecache.directio, a boolean

Default value

false

dbms.memory.pagecache.flush.buffer.enabled

Dynamic

Table 260. dbms.memory.pagecache.flush.buffer.enabled

Description

Page cache can be configured to use a temporal buffer for flushing purposes. It is used to combine, if possible, sequence of several cache pages into one bigger buffer to minimize the number of individual IOPS performed and better utilization of available I/O resources, especially when those are restricted.

Valid values

dbms.memory.pagecache.flush.buffer.enabled, a boolean

Default value

false

dbms.memory.pagecache.flush.buffer.size_in_pages

Dynamic

Table 261. dbms.memory.pagecache.flush.buffer.size_in_pages

Description

Page cache can be configured to use a temporal buffer for flushing purposes. It is used to combine, if possible, sequence of several cache pages into one bigger buffer to minimize the number of individual IOPS performed and better utilization of available I/O resources, especially when those are restricted. Use this setting to configure individual file flush buffer size in pages (8KiB). To be able to utilize this buffer during page cache flushing, buffered flush should be enabled.

Valid values

dbms.memory.pagecache.flush.buffer.size_in_pages, an integer which is in the range 1 to 512

Default value

128

dbms.memory.pagecache.scan.prefetchers

Table 262. dbms.memory.pagecache.scan.prefetchers

Description

The maximum number of worker threads to use for pre-fetching data when doing sequential scans. Set to '0' to disable pre-fetching for scans.

Valid values

dbms.memory.pagecache.scan.prefetchers, an integer which is in the range 0 to 255

Default value

4

dbms.memory.pagecache.size

Table 263. dbms.memory.pagecache.size

Description

The amount of memory to use for mapping the store files, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). If Neo4j is running on a dedicated server, then it is generally recommended to leave about 2-4 gigabytes for the operating system, give the JVM enough heap to hold all your transaction state and query context, and then leave the rest for the page cache. If no page cache memory is configured, then a heuristic setting is computed based on available system resources.

Valid values

dbms.memory.pagecache.size, a string

dbms.memory.pagecache.swapper

Deprecated

Table 264. dbms.memory.pagecache.swapper

Description

This setting is not used anymore.

Valid values

dbms.memory.pagecache.swapper, a string

dbms.memory.pagecache.warmup.enable

Enterprise Edition

Table 265. dbms.memory.pagecache.warmup.enable

Description

Page cache can be configured to perform usage sampling of loaded pages that can be used to construct active load profile. According to that profile pages can be reloaded on the restart, replication, etc. This setting allows disabling that behavior. This feature is available in Neo4j Enterprise Edition.

Valid values

dbms.memory.pagecache.warmup.enable, a boolean

Default value

true

dbms.memory.pagecache.warmup.preload

Table 266. dbms.memory.pagecache.warmup.preload

Description

Page cache warmup can be configured to prefetch files, preferably when cache size is bigger than store size. Files to be prefetched can be filtered by 'dbms.memory.pagecache.warmup.preload.allowlist'. Enabling this disables warmup by profile.

Valid values

dbms.memory.pagecache.warmup.preload, a boolean

Default value

false

dbms.memory.pagecache.warmup.preload.allowlist

Table 267. dbms.memory.pagecache.warmup.preload.allowlist

Description

Page cache warmup prefetch file allowlist regex. By default matches all files.

Valid values

dbms.memory.pagecache.warmup.preload.allowlist, a string

Default value

.*

dbms.memory.pagecache.warmup.preload.whitelist

Deprecated

Table 268. dbms.memory.pagecache.warmup.preload.whitelist

Description

Page cache warmup prefetch file whitelist regex. By default matches all files.

Valid values

dbms.memory.pagecache.warmup.preload.whitelist, a string

Default value

.*

Replaced by

dbms.memory.pagecache.warmup.profile.interval

Enterprise Edition

Table 269. dbms.memory.pagecache.warmup.profile.interval

Description

The profiling frequency for the page cache. Accurate profiles allow the page cache to do active warmup after a restart, reducing the mean time to performance. This feature is available in Neo4j Enterprise Edition.

Valid values

dbms.memory.pagecache.warmup.profile.interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1m

dbms.memory.tracking.enable

Table 270. dbms.memory.tracking.enable

Description

Enable off heap and on heap memory tracking. Should not be set to false for clusters.

Valid values

dbms.memory.tracking.enable, a boolean

Default value

true

dbms.memory.transaction.database_max_size

Dynamic

Table 271. dbms.memory.transaction.database_max_size

Description

Limit the amount of memory that all transactions in one database can consume, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). Zero means 'unlimited'.

Valid values

dbms.memory.transaction.database_max_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 10.00MiB or is 0B

Default value

0B

dbms.memory.transaction.global_max_size

Dynamic

Table 272. dbms.memory.transaction.global_max_size

Description

Limit the amount of memory that all of the running transactions can consume, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). Zero means 'unlimited'.

Valid values

dbms.memory.transaction.global_max_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 10.00MiB or is 0B

Default value

0B

dbms.memory.transaction.max_size

Dynamic

Table 273. dbms.memory.transaction.max_size

Description

Limit the amount of memory that a single transaction can consume, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). Zero means 'largest possible value'. When dbms.mode=CORE or dbms.mode=SINGLE and dbms.clustering.enable=true this is '2G', in other cases this is 'unlimited'.

Valid values

dbms.memory.transaction.max_size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 1.00MiB or is 0B and depends on dbms.mode. If dbms.mode one of [CORE] then it is maximum 2.00GiB otherwise it depends on dbms.mode. If dbms.mode one of [SINGLE] then it depends on dbms.clustering.enable. If dbms.clustering.enable is true then it is maximum 2.00GiB otherwise it is unconstrained. otherwise it is unconstrained.

Default value

0B

dbms.tx_state.memory_allocation

Table 274. dbms.tx_state.memory_allocation

Description

Defines whether memory for transaction state should be allocated on- or off-heap. Note that for small transactions you can gain up to 25% write speed by setting it to ON_HEAP.

Valid values

dbms.tx_state.memory_allocation, one of [ON_HEAP, OFF_HEAP]

Default value

OFF_HEAP

dbms.query_cache_size

Table 275. dbms.query_cache_size

Description

The number of cached Cypher query execution plans per database. The max number of query plans that can be kept in cache is the number of databases * dbms.query_cache_size. With 10 databases and dbms.query_cache_size=1000, the caches can keep 10000 plans in total on the instance, assuming that each DB receives queries that fill up its cache.

Valid values

dbms.query_cache_size, an integer which is minimum 0

Default value

1000

Metrics settings

metrics.bolt.messages.enabled

Deprecated

Table 276. metrics.bolt.messages.enabled

Description

Enable reporting metrics about Bolt Protocol message processing.

Valid values

metrics.bolt.messages.enabled, a boolean

Default value

false

Replaced by

metrics.csv.enabled

Table 277. metrics.csv.enabled

Description

Set to true to enable exporting metrics to CSV files.

Valid values

metrics.csv.enabled, a boolean

Default value

true

metrics.csv.interval

Table 278. metrics.csv.interval

Description

The reporting interval for the CSV files. That is, how often new rows with numbers are appended to the CSV files.

Valid values

metrics.csv.interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1ms

Default value

30s

metrics.csv.rotation.compression

Table 279. metrics.csv.rotation.compression

Description

Decides what compression to use for the csv history files.

Valid values

metrics.csv.rotation.compression, one of [NONE, ZIP, GZ]

Default value

NONE

metrics.csv.rotation.keep_number

Table 280. metrics.csv.rotation.keep_number

Description

Maximum number of history files for the csv files.

Valid values

metrics.csv.rotation.keep_number, an integer which is minimum 1

Default value

7

metrics.csv.rotation.size

Table 281. metrics.csv.rotation.size

Description

The file size in bytes at which the csv files will auto-rotate. If set to zero then no rotation will occur. Accepts a binary suffix k, m or g.

Valid values

metrics.csv.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is in the range 0B to 8388608.00TiB

Default value

10.00MiB

metrics.cypher.replanning.enabled

Deprecated

Table 282. metrics.cypher.replanning.enabled

Description

Enable reporting metrics about number of occurred replanning events. instead.

Valid values

metrics.cypher.replanning.enabled, a boolean

Default value

false

Replaced by

metrics.enabled

Table 283. metrics.enabled

Description

Enable metrics. Setting this to false will to turn off all metrics.

Valid values

metrics.enabled, a boolean

Default value

true

metrics.filter

Table 284. metrics.filter

Description

Specifies which metrics should be enabled by using a comma separated list of globbing patterns. Only the metrics matching the filter will be enabled. For example *check_point*,neo4j.page_cache.evictions will enable any checkpoint metrics and the pagecache eviction metric.

Valid values

metrics.filter, a ',' separated list with elements of type 'A simple globbing pattern that can use * and ?.'.

Default value

*bolt.connections*,*bolt.messages_received*,*bolt.messages_started*,*dbms.pool.bolt.free,*dbms.pool.bolt.total_size,*dbms.pool.bolt.total_used,*dbms.pool.bolt.used_heap,*causal_clustering.core.is_leader,*causal_clustering.core.last_leader_message,*causal_clustering.core.replication_attempt,*causal_clustering.core.replication_fail,*check_point.duration,*check_point.total_time,*cypher.replan_events,*ids_in_use*,*pool.transaction.*.total_used,*pool.transaction.*.used_heap,*pool.transaction.*.used_native,*store.size*,*transaction.active_read,*transaction.active_write,*transaction.committed*,*transaction.last_committed_tx_id,*transaction.peak_concurrent,*transaction.rollbacks*,*page_cache.hit*,*page_cache.page_faults,*page_cache.usage_ratio,*vm.file.descriptors.count,*vm.gc.time.*,*vm.heap.used,*vm.memory.buffer.direct.used,*vm.memory.pool.g1_eden_space,*vm.memory.pool.g1_old_gen,*vm.pause_time,*vm.thread*,*db.query.execution*

metrics.graphite.enabled

Table 285. metrics.graphite.enabled

Description

Set to true to enable exporting metrics to Graphite.

Valid values

metrics.graphite.enabled, a boolean

Default value

false

metrics.graphite.interval

Table 286. metrics.graphite.interval

Description

The reporting interval for Graphite. That is, how often to send updated metrics to Graphite.

Valid values

metrics.graphite.interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

30s

metrics.graphite.server

Table 287. metrics.graphite.server

Description

The hostname or IP address of the Graphite server.

Valid values

metrics.graphite.server, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address

Default value

:2003

metrics.jmx.enabled

Table 288. metrics.jmx.enabled

Description

Set to true to enable the JMX metrics endpoint.

Valid values

metrics.jmx.enabled, a boolean

Default value

true

metrics.jvm.buffers.enabled

Deprecated

Table 289. metrics.jvm.buffers.enabled

Description

Enable reporting metrics about the buffer pools.

Valid values

metrics.jvm.buffers.enabled, a boolean

Default value

false

Replaced by

metrics.jvm.file.descriptors.enabled

Deprecated

Table 290. metrics.jvm.file.descriptors.enabled

Description

Enable reporting metrics about the number of open file descriptors.

Valid values

metrics.jvm.file.descriptors.enabled, a boolean

Default value

false

Replaced by

metrics.jvm.gc.enabled

Deprecated

Table 291. metrics.jvm.gc.enabled

Description

Enable reporting metrics about the duration of garbage collections.

Valid values

metrics.jvm.gc.enabled, a boolean

Default value

false

Replaced by

metrics.jvm.heap.enabled

Deprecated

Table 292. metrics.jvm.heap.enabled

Description

Enable reporting metrics about the heap memory usage.

Valid values

metrics.jvm.heap.enabled, a boolean

Default value

false

Replaced by

metrics.jvm.memory.enabled

Deprecated

Table 293. metrics.jvm.memory.enabled

Description

Enable reporting metrics about the memory usage.

Valid values

metrics.jvm.memory.enabled, a boolean

Default value

false

Replaced by

metrics.jvm.pause_time.enabled

Deprecated

Table 294. metrics.jvm.pause_time.enabled

Description

Enable reporting metrics about the VM pause time.

Valid values

metrics.jvm.pause_time.enabled, a boolean

Default value

false

Replaced by

metrics.jvm.threads.enabled

Deprecated

Table 295. metrics.jvm.threads.enabled

Description

Enable reporting metrics about the current number of threads running.

Valid values

metrics.jvm.threads.enabled, a boolean

Default value

false

Replaced by

metrics.namespaces.enabled

Table 296. metrics.namespaces.enabled

Description

Enable metrics namespaces that separates the global and database specific metrics. If enabled all database specific metrics will have field names starting with <metrics_prefix>.database.<database_name> and all global metrics will start with <metrics_prefix>.dbms. For example, neo4j.page_cache.hits will become neo4j.dbms.page_cache.hits and neo4j.system.log.rotation_events will become neo4j.database.system.log.rotation_events.

Valid values

metrics.namespaces.enabled, a boolean

Default value

false

metrics.neo4j.causal_clustering.enabled

Deprecated

Table 297. metrics.neo4j.causal_clustering.enabled

Description

Enable reporting metrics about Causal Clustering mode.

Valid values

metrics.neo4j.causal_clustering.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.checkpointing.enabled

Deprecated

Table 298. metrics.neo4j.checkpointing.enabled

Description

Enable reporting metrics about Neo4j check pointing; when it occurs and how much time it takes to complete.

Valid values

metrics.neo4j.checkpointing.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.counts.enabled

Deprecated

Table 299. metrics.neo4j.counts.enabled

Description

Enable reporting metrics about approximately how many entities are in the database; nodes, relationships, properties, etc.

Valid values

metrics.neo4j.counts.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.data.counts.enabled

Deprecated

Table 300. metrics.neo4j.data.counts.enabled

Description

Enable reporting metrics about number of entities in the database.

Valid values

metrics.neo4j.data.counts.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.database_operation_count.enabled

Deprecated

Table 301. metrics.neo4j.database_operation_count.enabled

Description

Enable reporting metrics for Neo4j dbms operations; how many times databases have been created, started, stopped or dropped, and how many attempted operations have failed and recovered later.

Valid values

metrics.neo4j.database_operation_count.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.logs.enabled

Deprecated

Table 302. metrics.neo4j.logs.enabled

Description

Enable reporting metrics about the Neo4j transaction logs.

Valid values

metrics.neo4j.logs.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.pagecache.enabled

Deprecated

Table 303. metrics.neo4j.pagecache.enabled

Description

Enable reporting metrics about the Neo4j page cache; page faults, evictions, flushes, exceptions, etc.

Valid values

metrics.neo4j.pagecache.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.pools.enabled

Deprecated

Table 304. metrics.neo4j.pools.enabled

Description

Enable reporting metrics about Neo4j memory pools.

Valid values

metrics.neo4j.pools.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.server.enabled

Deprecated

Table 305. metrics.neo4j.server.enabled

Description

Enable reporting metrics about Server threading info.

Valid values

metrics.neo4j.server.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.size.enabled

Deprecated

Table 306. metrics.neo4j.size.enabled

Description

Enable reporting metrics about the store size of each database.

Valid values

metrics.neo4j.size.enabled, a boolean

Default value

false

Replaced by

metrics.neo4j.tx.enabled

Deprecated

Table 307. metrics.neo4j.tx.enabled

Description

Enable reporting metrics about transactions; number of transactions started, committed, etc.

Valid values

metrics.neo4j.tx.enabled, a boolean

Default value

false

Replaced by

metrics.prefix

Table 308. metrics.prefix

Description

A common prefix for the reported metrics field names.

Valid values

metrics.prefix, a string

Default value

neo4j

metrics.prometheus.enabled

Table 309. metrics.prometheus.enabled

Description

Set to true to enable the Prometheus endpoint.

Valid values

metrics.prometheus.enabled, a boolean

Default value

false

metrics.prometheus.endpoint

Table 310. metrics.prometheus.endpoint

Description

The hostname and port to use as Prometheus endpoint.

Valid values

metrics.prometheus.endpoint, a socket address in the format hostname:port, hostname, or :port. If missing, port and hostname are acquired from dbms.default_listen_address.

Default value

localhost:2004

Neo4j Browser and client settings

browser.allow_outgoing_connections

Table 311. browser.allow_outgoing_connections

Description

Configure the policy for outgoing Neo4j Browser connections.

Valid values

browser.allow_outgoing_connections, a boolean

Default value

true

browser.credential_timeout

Table 312. browser.credential_timeout

Description

Configure the Neo4j Browser to time out logged in users after this idle period. Setting this to 0 indicates no limit.

Valid values

browser.credential_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

0s

browser.post_connect_cmd

Table 313. browser.post_connect_cmd

Description

Commands to be run when Neo4j Browser successfully connects to this server. Separate multiple commands with semi-colon.

Valid values

browser.post_connect_cmd, a string

Default value

browser.remote_content_hostname_whitelist

Table 314. browser.remote_content_hostname_whitelist

Description

Whitelist of hosts for the Neo4j Browser to be allowed to fetch content from.

Valid values

browser.remote_content_hostname_whitelist, a string

Default value

guides.neo4j.com,localhost

browser.retain_connection_credentials

Table 315. browser.retain_connection_credentials

Description

Configure the Neo4j Browser to store or not store user credentials.

Valid values

browser.retain_connection_credentials, a boolean

Default value

true

browser.retain_editor_history

Table 316. browser.retain_editor_history

Description

Configure the Neo4j Browser to store or not store user editor history.

Valid values

browser.retain_editor_history, a boolean

Default value

true

clients.allow_telemetry

Table 317. clients.allow_telemetry

Description

Configure client applications such as Browser and Bloom to send Product Analytics data.

Valid values

clients.allow_telemetry, a boolean

Default value

true

Security settings

dbms.security.allow_csv_import_from_file_urls

Table 318. dbms.security.allow_csv_import_from_file_urls

Description

Determines if Cypher will allow using file URLs when loading data using LOAD CSV. Setting this value to false will cause Neo4j to fail LOAD CSV clauses that load data from the file system.

Valid values

dbms.security.allow_csv_import_from_file_urls, a boolean

Default value

true

dbms.security.auth_cache_max_capacity

Table 319. dbms.security.auth_cache_max_capacity

Description

The maximum capacity for authentication and authorization caches (respectively).

Valid values

dbms.security.auth_cache_max_capacity, an integer

Default value

10000

dbms.security.auth_cache_ttl

Table 320. dbms.security.auth_cache_ttl

Description

The time to live (TTL) for cached authentication and authorization info when using external auth providers (LDAP or plugin). Setting the TTL to 0 will disable auth caching. Disabling caching while using the LDAP auth provider requires the use of an LDAP system account for resolving authorization information.

Valid values

dbms.security.auth_cache_ttl, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10m

dbms.security.auth_cache_use_ttl

Table 321. dbms.security.auth_cache_use_ttl

Description

Enable time-based eviction of the authentication and authorization info cache for external auth providers (LDAP or plugin). Disabling this setting will make the cache live forever and only be evicted when dbms.security.auth_cache_max_capacity is exceeded.

Valid values

dbms.security.auth_cache_use_ttl, a boolean

Default value

true

dbms.security.auth_enabled

Table 322. dbms.security.auth_enabled

Description

Enable auth requirement to access Neo4j.

Valid values

dbms.security.auth_enabled, a boolean

Default value

true

dbms.security.auth_lock_time

Table 323. dbms.security.auth_lock_time

Description

The amount of time user account should be locked after a configured number of unsuccessful authentication attempts. The locked out user will not be able to log in until the lock period expires, even if correct credentials are provided. Setting this configuration option to a low value is not recommended because it might make it easier for an attacker to brute force the password.

Valid values

dbms.security.auth_lock_time, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 0s

Default value

5s

dbms.security.auth_max_failed_attempts

Table 324. dbms.security.auth_max_failed_attempts

Description

The maximum number of unsuccessful authentication attempts before imposing a user lock for the configured amount of time, as defined by dbms.security.auth_lock_time.The locked out user will not be able to log in until the lock period expires, even if correct credentials are provided. Setting this configuration option to values less than 3 is not recommended because it might make it easier for an attacker to brute force the password.

Valid values

dbms.security.auth_max_failed_attempts, an integer which is minimum 0

Default value

3

dbms.security.authentication_providers

Table 325. dbms.security.authentication_providers

Description

A list of security authentication providers containing the users and roles. This can be any of the built-in native or ldap providers, or it can be an externally provided plugin, with a custom name prefixed by plugin-, i.e. plugin-<AUTH_PROVIDER_NAME>. They will be queried in the given order when login is attempted.

Valid values

dbms.security.authentication_providers, a ',' separated list with elements of type 'a string'.

Default value

native

dbms.security.authorization_providers

Table 326. dbms.security.authorization_providers

Description

A list of security authorization providers containing the users and roles. This can be any of the built-in native or ldap providers, or it can be an externally provided plugin, with a custom name prefixed by plugin-, i.e. plugin-<AUTH_PROVIDER_NAME>. They will be queried in the given order when login is attempted.

Valid values

dbms.security.authorization_providers, a ',' separated list with elements of type 'a string'.

Default value

native

dbms.security.causal_clustering_status_auth_enabled

Table 327. dbms.security.causal_clustering_status_auth_enabled

Description

Require authorization for access to the Causal Clustering status endpoints.

Valid values

dbms.security.causal_clustering_status_auth_enabled, a boolean

Default value

true

dbms.security.http_access_control_allow_origin

Table 328. dbms.security.http_access_control_allow_origin

Description

Value of the Access-Control-Allow-Origin header sent over any HTTP or HTTPS connector. This defaults to '*', which allows broadest compatibility. Note that any URI provided here limits HTTP/HTTPS access to that URI only.

Valid values

dbms.security.http_access_control_allow_origin, a string

Default value

*

dbms.security.http_auth_allowlist

Table 329. dbms.security.http_auth_allowlist

Description

Defines an allowlist of http paths where Neo4j authentication is not required.

Valid values

dbms.security.http_auth_allowlist, a ',' separated list with elements of type 'a string'.

Default value

/,/browser.*

dbms.security.http_auth_whitelist

Deprecated

Table 330. dbms.security.http_auth_whitelist

Description

Defines a whitelist of http paths where Neo4j authentication is not required.

Valid values

dbms.security.http_auth_whitelist, a ',' separated list with elements of type 'a string'.

Default value

/,/browser.*

Replaced by

dbms.security.http_strict_transport_security

Table 331. dbms.security.http_strict_transport_security

Description

Value of the HTTP Strict-Transport-Security (HSTS) response header. This header tells browsers that a webpage should only be accessed using HTTPS instead of HTTP. It is attached to every HTTPS response. Setting is not set by default so 'Strict-Transport-Security' header is not sent. Value is expected to contain directives like 'max-age', 'includeSubDomains' and 'preload'.

Valid values

dbms.security.http_strict_transport_security, a string

dbms.security.ldap.authentication.attribute

Dynamic

Table 332. dbms.security.ldap.authentication.attribute

Description

The attribute to use when looking up users. Using this setting requires dbms.security.ldap.authentication.search_for_attribute to be true and thus dbms.security.ldap.authorization.system_username and dbms.security.ldap.authorization.system_password to be configured.

Valid values

dbms.security.ldap.authentication.attribute, a string which matches the pattern [A-Za-z0-9-]* (has to be a valid LDAP attribute name, only containing letters [A-Za-z], digits [0-9] and hyphens [-].)

Default value

samaccountname

dbms.security.ldap.authentication.cache_enabled

Table 333. dbms.security.ldap.authentication.cache_enabled

Description

Determines if the result of authentication via the LDAP server should be cached or not. Caching is used to limit the number of LDAP requests that have to be made over the network for users that have already been authenticated successfully. A user can be authenticated against an existing cache entry (instead of via an LDAP server) as long as it is alive (see dbms.security.auth_cache_ttl). An important consequence of setting this to true is that Neo4j then needs to cache a hashed version of the credentials in order to perform credentials matching. This hashing is done using a cryptographic hash function together with a random salt. Preferably a conscious decision should be made if this method is considered acceptable by the security standards of the organization in which this Neo4j instance is deployed.

Valid values

dbms.security.ldap.authentication.cache_enabled, a boolean

Default value

true

dbms.security.ldap.authentication.mechanism

Table 334. dbms.security.ldap.authentication.mechanism

Description

LDAP authentication mechanism. This is one of simple or a SASL mechanism supported by JNDI, for example DIGEST-MD5. simple is basic username and password authentication and SASL is used for more advanced mechanisms. See RFC 2251 LDAPv3 documentation for more details.

Valid values

dbms.security.ldap.authentication.mechanism, a string

Default value

simple

dbms.security.ldap.authentication.search_for_attribute

Table 335. dbms.security.ldap.authentication.search_for_attribute

Description

Perform authentication by searching for an unique attribute of a user. Using this setting requires dbms.security.ldap.authorization.system_username and dbms.security.ldap.authorization.system_password to be configured.

Valid values

dbms.security.ldap.authentication.search_for_attribute, a boolean

Default value

false

dbms.security.ldap.authentication.use_samaccountname

Deprecated

Table 336. dbms.security.ldap.authentication.use_samaccountname

Description

Perform authentication by searching for an unique attribute of a user.

Valid values

dbms.security.ldap.authentication.use_samaccountname, a boolean

Default value

false

Replaced by

dbms.security.ldap.authentication.user_dn_template

Dynamic

Table 337. dbms.security.ldap.authentication.user_dn_template

Description

LDAP user DN template. An LDAP object is referenced by its distinguished name (DN), and a user DN is an LDAP fully-qualified unique user identifier. This setting is used to generate an LDAP DN that conforms with the LDAP directory’s schema from the user principal that is submitted with the authentication token when logging in. The special token {0} is a placeholder where the user principal will be substituted into the DN string.

Valid values

dbms.security.ldap.authentication.user_dn_template, a string which Must be a string containing '{0}' to understand where to insert the runtime authentication principal.

Default value

uid={0},ou=users,dc=example,dc=com

dbms.security.ldap.authorization.access_permitted_group

Dynamic

Table 338. dbms.security.ldap.authorization.access_permitted_group

Description

The LDAP group to which a user must belong to get any access to the system.Set this to restrict access to a subset of LDAP users belonging to a particular group. If this is not set, any user to successfully authenticate via LDAP will have access to the PUBLIC role and any other roles assigned to them via dbms.security.ldap.authorization.group_to_role_mapping.

Valid values

dbms.security.ldap.authorization.access_permitted_group, a string

Default value

dbms.security.ldap.authorization.group_membership_attributes

Dynamic

Table 339. dbms.security.ldap.authorization.group_membership_attributes

Description

A list of attribute names on a user object that contains groups to be used for mapping to roles when LDAP authorization is enabled.

Valid values

dbms.security.ldap.authorization.group_membership_attributes, a ',' separated list with elements of type 'a string'. which Can not be empty

Default value

memberOf

dbms.security.ldap.authorization.group_to_role_mapping

Dynamic

Table 340. dbms.security.ldap.authorization.group_to_role_mapping

Description

An authorization mapping from LDAP group names to Neo4j role names. The map should be formatted as a semicolon separated list of key-value pairs, where the key is the LDAP group name and the value is a comma separated list of corresponding role names. For example: group1=role1;group2=role2;group3=role3,role4,role5 You could also use whitespaces and quotes around group names to make this mapping more readable, for example:

dbms.security.ldap.authorization.group_to_role_mapping=\
         "cn=Neo4j Read Only,cn=users,dc=example,dc=com"      = reader;    \
         "cn=Neo4j Read-Write,cn=users,dc=example,dc=com"     = publisher; \
         "cn=Neo4j Schema Manager,cn=users,dc=example,dc=com" = architect; \
         "cn=Neo4j Administrator,cn=users,dc=example,dc=com"  = admin

Valid values

dbms.security.ldap.authorization.group_to_role_mapping, a string which must be semicolon separated list of key-value pairs or empty

Default value

dbms.security.ldap.authorization.system_password

Table 341. dbms.security.ldap.authorization.system_password

Description

An LDAP system account password to use for authorization searches when dbms.security.ldap.authorization.use_system_account is true.

Valid values

dbms.security.ldap.authorization.system_password, a secure string

dbms.security.ldap.authorization.system_username

Table 342. dbms.security.ldap.authorization.system_username

Description

An LDAP system account username to use for authorization searches when dbms.security.ldap.authorization.use_system_account is true. Note that the dbms.security.ldap.authentication.user_dn_template will not be applied to this username, so you may have to specify a full DN.

Valid values

dbms.security.ldap.authorization.system_username, a string

dbms.security.ldap.authorization.use_system_account

Table 343. dbms.security.ldap.authorization.use_system_account

Description

Perform LDAP search for authorization info using a system account instead of the user’s own account. If this is set to false (default), the search for group membership will be performed directly after authentication using the LDAP context bound with the user’s own account. The mapped roles will be cached for the duration of dbms.security.auth_cache_ttl, and then expire, requiring re-authentication. To avoid frequently having to re-authenticate sessions you may want to set a relatively long auth cache expiration time together with this option. NOTE: This option will only work if the users are permitted to search for their own group membership attributes in the directory. If this is set to true, the search will be performed using a special system account user with read access to all the users in the directory. You need to specify the username and password using the settings dbms.security.ldap.authorization.system_username and dbms.security.ldap.authorization.system_password with this option. Note that this account only needs read access to the relevant parts of the LDAP directory and does not need to have access rights to Neo4j, or any other systems.

Valid values

dbms.security.ldap.authorization.use_system_account, a boolean

Default value

false

dbms.security.ldap.authorization.user_search_base

Dynamic

Table 344. dbms.security.ldap.authorization.user_search_base

Description

The name of the base object or named context to search for user objects when LDAP authorization is enabled. A common case is that this matches the last part of dbms.security.ldap.authentication.user_dn_template.

Valid values

dbms.security.ldap.authorization.user_search_base, a string which Can not be empty

Default value

ou=users,dc=example,dc=com

dbms.security.ldap.authorization.user_search_filter

Dynamic

Table 345. dbms.security.ldap.authorization.user_search_filter

Description

The LDAP search filter to search for a user principal when LDAP authorization is enabled. The filter should contain the placeholder token {0} which will be substituted for the user principal.

Valid values

dbms.security.ldap.authorization.user_search_filter, a string

Default value

(&(objectClass=*)(uid={0}))

dbms.security.ldap.connection_timeout

Table 346. dbms.security.ldap.connection_timeout

Description

The timeout for establishing an LDAP connection. If a connection with the LDAP server cannot be established within the given time the attempt is aborted. A value of 0 means to use the network protocol’s (i.e., TCP’s) timeout value.

Valid values

dbms.security.ldap.connection_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

30s

dbms.security.ldap.host

Table 347. dbms.security.ldap.host

Description

URL of LDAP server to use for authentication and authorization. The format of the setting is <protocol>://<hostname>:<port>, where hostname is the only required field. The supported values for protocol are ldap (default) and ldaps. The default port for ldap is 389 and for ldaps 636. For example: ldaps://ldap.example.com:10389. You may want to consider using STARTTLS (dbms.security.ldap.use_starttls) instead of LDAPS for secure connections, in which case the correct protocol is ldap.

Valid values

dbms.security.ldap.host, a string

Default value

localhost

dbms.security.ldap.read_timeout

Table 348. dbms.security.ldap.read_timeout

Description

The timeout for an LDAP read request (i.e. search). If the LDAP server does not respond within the given time the request will be aborted. A value of 0 means wait for a response indefinitely.

Valid values

dbms.security.ldap.read_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

30s

dbms.security.ldap.referral

Table 349. dbms.security.ldap.referral

Description

The LDAP referral behavior when creating a connection. This is one of follow, ignore or throw. * follow automatically follows any referrals * ignore ignores any referrals * throw throws an exception, which will lead to authentication failure.

Valid values

dbms.security.ldap.referral, a string

Default value

follow

dbms.security.ldap.use_starttls

Table 350. dbms.security.ldap.use_starttls

Description

Use secure communication with the LDAP server using opportunistic TLS. First an initial insecure connection will be made with the LDAP server, and a STARTTLS command will be issued to negotiate an upgrade of the connection to TLS before initiating authentication.

Valid values

dbms.security.ldap.use_starttls, a boolean

Default value

false

dbms.security.log_successful_authentication

Table 351. dbms.security.log_successful_authentication

Description

Set to log successful authentication events to the security log. If this is set to false only failed authentication events will be logged, which could be useful if you find that the successful events spam the logs too much, and you do not require full auditing capability.

Valid values

dbms.security.log_successful_authentication, a boolean

Default value

true

dbms.security.oidc.<provider>.audience

Dynamic

Table 352. dbms.security.oidc.<provider>.audience

Description

Expected values of the Audience (aud) claim in the id token.

Valid values

dbms.security.oidc.<provider>.audience, a ',' separated list with elements of type 'a string'. which Can not be empty

dbms.security.oidc.<provider>.auth_endpoint

Dynamic

Table 353. dbms.security.oidc.<provider>.auth_endpoint

Description

The OIDC authorization endpoint. If this is not supplied Neo4j will attempt to discover it from the well_known_discovery_uri.

Valid values

dbms.security.oidc.<provider>.auth_endpoint, a URI

dbms.security.oidc.<provider>.auth_flow

Dynamic

Table 354. dbms.security.oidc.<provider>.auth_flow

Description

The OIDC flow to use. This is exposed to clients via the discovery endpoint.

Valid values

dbms.security.oidc.<provider>.auth_flow, one of [PKCE, IMPLICIT]

Default value

PKCE

dbms.security.oidc.<provider>.auth_params

Dynamic

Table 355. dbms.security.oidc.<provider>.auth_params

Description

Optional additional configuration options used for the authentication request. The map is a semicolon separated list of key-value pairs. For example: k1=v1;k2=v2.

Valid values

dbms.security.oidc.<provider>.auth_params, A simple key value map pattern k1=v1;k2=v2

Default value

{}

dbms.security.oidc.<provider>.authorization.group_to_role_mapping

Dynamic

Table 356. dbms.security.oidc.<provider>.authorization.group_to_role_mapping

Description

An authorization mapping from IdP group names to Neo4j role names. The map should be formatted as a semicolon separated list of key-value pairs, where the key is the IdP group name and the value is a comma separated list of corresponding role names. For example: group1=role1;group2=role2;group3=role3,role4,role5 You could also use whitespaces and quotes around group names to make this mapping more readable, for example:

dbms.security.oidc.<provider>.authorization.group_to_role_mapping=\
         "Neo4j Read Only"      = reader;    \
         "Neo4j Read-Write"     = publisher; \
         "Neo4j Schema Manager" = architect; \
         "Neo4j Administrator"  = admin

Valid values

dbms.security.oidc.<provider>.authorization.group_to_role_mapping, a string which must be semicolon separated list of key-value pairs or empty

dbms.security.oidc.<provider>.claims.groups

Dynamic

Table 357. dbms.security.oidc.<provider>.claims.groups

Description

The claim to use as the list of groups in Neo4j. These could be Neo4J roles directly, or can be mapped using dbms.security.oidc.<provider>.authorization.group_to_role_mapping.

Valid values

dbms.security.oidc.<provider>.claims.groups, a string

dbms.security.oidc.<provider>.claims.username

Dynamic

Table 358. dbms.security.oidc.<provider>.claims.username

Description

The claim to use as the username in Neo4j. This would typically be sub, but in some situations it may be be desirable to use something else such as email.

Valid values

dbms.security.oidc.<provider>.claims.username, a string

Default value

sub

dbms.security.oidc.<provider>.client_id

Dynamic

Table 359. dbms.security.oidc.<provider>.client_id

Description

Client id needed if token contains multiple Audience (aud) claims.

Valid values

dbms.security.oidc.<provider>.client_id, a string

dbms.security.oidc.<provider>.config

Dynamic

Table 360. dbms.security.oidc.<provider>.config

Description

Additional configuration options that the clients may require to authenticate. The map is a semicolon separated list of key-value pairs. For example: k1=v1;k2=v2.

Valid values

dbms.security.oidc.<provider>.config, A simple key value map pattern k1=v1;k2=v2

Default value

{}

dbms.security.logs.oidc.jwt_claims_at_debug_level_enabled

Table 361. dbms.security.logs.oidc.jwt_claims_at_debug_level_enabled

Description

When set to true, it logs the claims from the JWT. This will only take effect when the security log level is set to DEBUG.
WARNING: It is strongly advised that this is set to false when running in a production environment in order to prevent logging of sensitive information. Also note that the contents of the JWT claims set can change over time because they are dependent entirely upon the ID provider.

Valid values

dbms.security.logs.oidc.jwt_claims_at_debug_level_enabled, a boolean

Default value

false

dbms.security.oidc.<provider>.display_name

Table 362. dbms.security.oidc.<provider>.display_name

Description

The user-facing name of the provider as provided by the discovery endpoint to clients (Bloom, Browser etc.).

Valid values

dbms.security.oidc.<provider>.display_name, a string

dbms.security.oidc.<provider>.get_groups_from_user_info

Dynamic

Table 363. dbms.security.oidc.<provider>.get_groups_from_user_info

Description

When turned on, Neo4j gets the groups from the provider user info endpoint.

Valid values

dbms.security.oidc.<provider>.get_groups_from_user_info, a boolean

Default value

false

dbms.security.oidc.<provider>.get_username_from_user_info

Dynamic

Table 364. dbms.security.oidc.<provider>.get_username_from_user_info

Description

When turned on, Neo4j gets the username from the provider user info endpoint.

Valid values

dbms.security.oidc.<provider>.get_username_from_user_info, a boolean

Default value

false

dbms.security.oidc.<provider>.issuer

Dynamic

Table 365. dbms.security.oidc.<provider>.issuer

Description

The expected value of the iss claim in the id token.

Valid values

dbms.security.oidc.<provider>.issuer, a string

dbms.security.oidc.<provider>.jwks_uri

Dynamic

Table 366. dbms.security.oidc.<provider>.jwks_uri

Description

The location of the JWK public key set for the identity provider. If this is not supplied Neo4j will attempt to discover it from the well_known_discovery_uri.

Valid values

dbms.security.oidc.<provider>.jwks_uri, a URI

dbms.security.oidc.<provider>.params

Dynamic

Table 367. dbms.security.oidc.<provider>.params

Description

Generic parameters that the clients may require to authenticate. The map is a semicolon separated list of key-value pairs. For example: k1=v1;k2=v2.

Valid values

dbms.security.oidc.<provider>.params, A simple key value map pattern k1=v1;k2=v2

Default value

{}

dbms.security.oidc.<provider>.redirect_uri

Dynamic Deprecated

Table 368. dbms.security.oidc.<provider>.redirect_uri

Description

The redirect URI the IdP should return the user to when authenticated.

Valid values

dbms.security.oidc.<provider>.redirect_uri, a URI

dbms.security.oidc.<provider>.token_endpoint

Dynamic

Table 369. dbms.security.oidc.<provider>.token_endpoint

Description

The OIDC token endpoint. If this is not supplied Neo4j will attempt to discover it from the well_known_discovery_uri.

Valid values

dbms.security.oidc.<provider>.token_endpoint, a URI

dbms.security.oidc.<provider>.token_params

Dynamic

Table 370. dbms.security.oidc.<provider>.token_params

Description

Optional additional configuration options used for the token request. The map is a semicolon separated list of key-value pairs. For example: k1=v1;k2=v2.

Valid values

dbms.security.oidc.<provider>.token_params, A simple key value map pattern k1=v1;k2=v2

Default value

{}

dbms.security.oidc.<provider>.user_info_uri

Dynamic

Table 371. dbms.security.oidc.<provider>.user_info_uri

Description

The identity providers user info uri.

Valid values

dbms.security.oidc.<provider>.user_info_uri, a URI

dbms.security.oidc.<provider>.well_known_discovery_uri

Dynamic

Table 372. dbms.security.oidc.<provider>.well_known_discovery_uri

Description

The 'well known' OpenID Connect Discovery endpoint used to fetch identity provider settings.

Valid values

dbms.security.oidc.<provider>.well_known_discovery_uri, a URI

dbms.security.procedures.allowlist

Table 373. dbms.security.procedures.allowlist

Description

A list of procedures (comma separated) that are to be loaded. The list may contain both fully-qualified procedure names, and partial names with the wildcard '*'. If this setting is left empty no procedures will be loaded.

Valid values

dbms.security.procedures.allowlist, a ',' separated list with elements of type 'a string'.

Default value

*

dbms.security.procedures.default_allowed

Deprecated

Table 374. dbms.security.procedures.default_allowed

Description

The default role that can execute all procedures and user-defined functions that are not covered by the dbms.security.procedures.roles setting. This setting (if not empty string) will be translated to 'GRANT EXECUTE BOOSTED PROCEDURE *' and 'GRANT EXECUTE BOOSTED FUNCTION *' for that role. If `dbms.security.procedures.roles`is not empty, any procedure or function that this role is not mapped to will result in a 'DENY EXECUTE BOOSTED PROCEDURE name' and 'DENY EXECUTE BOOSTED FUNCTION name' for this role. Any privilege mapped in this way cannot be revoked, instead the config must be changed and will take effect after a restart.

Valid values

dbms.security.procedures.default_allowed, a string

Default value

Replaced by

EXECUTE PROCEDURE, EXECUTE BOOSTED PROCEDURE, EXECUTE FUNCTION and EXECUTE BOOSTED FUNCTION privileges

dbms.security.procedures.roles

Deprecated

Table 375. dbms.security.procedures.roles

Description

This provides a finer level of control over which roles can execute procedures than the dbms.security.procedures.default_allowed setting. For example: dbms.security.procedures.roles=apoc.convert.*:reader;apoc.load.json*:writer;apoc.trigger.add:TriggerHappy will allow the role reader to execute all procedures in the apoc.convert namespace, the role writer to execute all procedures in the apoc.load namespace that starts with json and the role TriggerHappy to execute the specific procedure apoc.trigger.add. Procedures not matching any of these patterns will be subject to the dbms.security.procedures.default_allowed setting. This setting (if not empty string) will be translated to 'GRANT EXECUTE BOOSTED PROCEDURE name' and 'GRANT EXECUTE BOOSTED FUNCTION name' privileges for the mapped roles. Any privilege mapped in this way cannot be revoked, instead the config must be changed and will take effect after a restart.

Valid values

dbms.security.procedures.roles, a string

Default value

Replaced by

EXECUTE PROCEDURE, EXECUTE BOOSTED PROCEDURE, EXECUTE FUNCTION and EXECUTE BOOSTED FUNCTION privileges

dbms.security.procedures.unrestricted

Table 376. dbms.security.procedures.unrestricted

Description

A list of procedures and user defined functions (comma separated) that are allowed full access to the database. The list may contain both fully-qualified procedure names, and partial names with the wildcard '*'. Note that this enables these procedures to bypass security. Use with caution.

Valid values

dbms.security.procedures.unrestricted, a ',' separated list with elements of type 'a string'.

Default value

dbms.security.procedures.whitelist

Deprecated

Table 377. dbms.security.procedures.whitelist

Description

A list of procedures (comma separated) that are to be loaded. The list may contain both fully-qualified procedure names, and partial names with the wildcard '*'. If this setting is left empty no procedures will be loaded.

Valid values

dbms.security.procedures.whitelist, a ',' separated list with elements of type 'a string'.

Default value

*

Replaced by

dbms.netty.ssl.provider

Table 378. dbms.netty.ssl.provider

Description

Netty SSL provider.

Valid values

dbms.netty.ssl.provider, one of [JDK, OPENSSL, OPENSSL_REFCNT]

Default value

JDK

systemdb.secrets.key.name

Dynamic

Table 379. systemdb.secrets.key.name

Description

Name of the 256 length AES encryption key, which is used for the symmetric encryption.

Valid values

systemdb.secrets.key.name, a string

Default value

aesKey

systemdb.secrets.keystore.password

Dynamic

Table 380. systemdb.secrets.keystore.password

Description

Password for accessing the keystore holding a 256 length AES encryption key, which is used for the symmetric encryption.

Valid values

systemdb.secrets.keystore.password, a secure string

systemdb.secrets.keystore.path

Dynamic

Table 381. systemdb.secrets.keystore.path

Description

Location of the keystore holding a 256 length AES encryption key, which is used for the symmetric encryption of secrets held in system database.

Valid values

systemdb.secrets.keystore.path, a path

Transaction settings

dbms.lock.acquisition.timeout

Dynamic

Table 382. dbms.lock.acquisition.timeout

Description

The maximum time interval within which lock should be acquired. Zero (default) means timeout is disabled.

Valid values

dbms.lock.acquisition.timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

0s

dbms.shutdown_transaction_end_timeout

Table 383. dbms.shutdown_transaction_end_timeout

Description

The maximum amount of time to wait for running transactions to complete before allowing initiated database shutdown to continue.

Valid values

dbms.shutdown_transaction_end_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

10s

dbms.transaction.bookmark_ready_timeout

Dynamic

Table 384. dbms.transaction.bookmark_ready_timeout

Description

The maximum amount of time to wait for the database state represented by the bookmark.

Valid values

dbms.transaction.bookmark_ready_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s) which is minimum 1s

Default value

30s

dbms.transaction.concurrent.maximum

Dynamic

Table 385. dbms.transaction.concurrent.maximum

Description

The maximum number of concurrently running transactions. If set to 0, limit is disabled.

Valid values

dbms.transaction.concurrent.maximum, an integer

Default value

1000

dbms.transaction.monitor.check.interval

Table 386. dbms.transaction.monitor.check.interval

Description

Configures the time interval between transaction monitor checks. Determines how often monitor thread will check transaction for timeout.

Valid values

dbms.transaction.monitor.check.interval, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

2s

dbms.transaction.sampling.percentage

Dynamic

Table 387. dbms.transaction.sampling.percentage

Description

Transaction sampling percentage.

Valid values

dbms.transaction.sampling.percentage, an integer which is in the range 1 to 100

Default value

5

dbms.transaction.timeout

Dynamic

Table 388. dbms.transaction.timeout

Description

The maximum time interval of a transaction within which it should be completed.

Valid values

dbms.transaction.timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

0s

dbms.transaction.tracing.level

Dynamic

Table 389. dbms.transaction.tracing.level

Description

Transaction creation tracing level.

Valid values

dbms.transaction.tracing.level, one of [DISABLED, SAMPLE, ALL]

Default value

DISABLED

dbms.rest.transaction.idle_timeout

Table 390. dbms.rest.transaction.idle_timeout

Description

Timeout for idle transactions in the REST endpoint.

Valid values

dbms.rest.transaction.idle_timeout, a duration (Valid units are: ns, μs, ms, s, m, h and d; default unit is s)

Default value

1m

Transaction log settings

dbms.recovery.fail_on_missing_files

Table 391. dbms.recovery.fail_on_missing_files

Description

If true, Neo4j will abort recovery if transaction log files are missing. Setting this to false will allow Neo4j to create new empty missing files for the already existing database, but the integrity of the database might be compromised.

Valid values

dbms.recovery.fail_on_missing_files, a boolean

Default value

true

dbms.tx_log.buffer.size

Table 392. dbms.tx_log.buffer.size

Description

On serialization of transaction logs, they will be temporary stored in the byte buffer that will be flushed at the end of the transaction or at any moment when buffer will be full.

Valid values

dbms.tx_log.buffer.size, a long which is minimum 131072

Default value

By default the size of byte buffer is based on number of available cpu’s with minimal buffer size of 512KB. Every another 4 cpu’s will add another 512KB into the buffer size. Maximal buffer size in this default scheme is 4MB taking into account that we can have one transaction log writer per database in multi-database env.For example, runtime with 4 cpus will have buffer size of 1MB; runtime with 8 cpus will have buffer size of 1MB 512KB; runtime with 12 cpus will have buffer size of 2MB.

dbms.tx_log.preallocate

Dynamic

Table 393. dbms.tx_log.preallocate

Description

Specify if Neo4j should try to preallocate the logical log file in advance. It optimizes the filesystem by ensuring there is room to accommodate newly generated files and avoid file-level fragmentation.

Valid values

dbms.tx_log.preallocate, a boolean

Default value

true

dbms.tx_log.rotation.retention_policy

Dynamic

Table 394. dbms.tx_log.rotation.retention_policy

Description

Tell Neo4j how long logical transaction logs should be kept to backup the database.For example, "10 days" will prune logical logs that only contain transactions older than 10 days.Alternatively, "100k txs" will keep the 100k latest transactions from each database and prune any older transactions.

Valid values

dbms.tx_log.rotation.retention_policy, a string which matches the pattern ^(true|keep_all|false|keep_none|(\d+[KkMmGg]?( (files|size|txs|entries|hours|days))))$ (Must be true or keep_all, false or keep_none, or of format <number><optional unit> <type>. Valid units are K, M and G. Valid types are files, size, txs, entries, hours and days. For example, 100M size will limit logical log space on disk to 100MB per database,and 200K txs will limit the number of transactions kept to 200 000 per database.)

Default value

7 days

dbms.tx_log.rotation.size

Dynamic

Table 395. dbms.tx_log.rotation.size

Description

Specifies at which file size the logical log will auto-rotate. Minimum accepted value is 128 KiB.

Valid values

dbms.tx_log.rotation.size, a byte size (valid multipliers are B, KiB, KB, K, kB, kb, k, MiB, MB, M, mB, mb, m, GiB, GB, G, gB, gb, g, TiB, TB, PiB, PB, EiB, EB) which is minimum 128.00KiB

Default value

250.00MiB