24.7. Configuration Settings Reference

This page documents Neo4j’s configuration settings. They can be set in neo4j.conf.

Settings used by the server configuration

NameDescription

browser.allow_outgoing_connections

Configure the policy for outgoing Neo4j Browser connections.

browser.credential_timeout

Configure the Neo4j Browser to time out logged in users after this idle period.

browser.remote_content_hostname_whitelist

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

browser.retain_connection_credentials

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

cypher.default_language_version

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

cypher.forbid_exhaustive_shortestpath

This setting is associated with performance optimization.

cypher.hints_error

Set this to specify the behavior when Cypher planner or runtime hints cannot be fulfilled.

cypher.min_replan_interval

The minimum lifetime of a query plan before a query is considered for replanning.

cypher.planner

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

cypher.statistics_divergence_threshold

The threshold when a plan is considered stale.

dbms.active_database

Name of the database to load.

dbms.allow_format_migration

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

dbms.backup.address

Listening server for online backups.

dbms.backup.enabled

Enable support for running online backups.

dbms.checkpoint.interval.time

Configures the time interval between check-points.

dbms.checkpoint.interval.tx

Configures the transaction interval between check-points.

dbms.checkpoint.iops.limit

Limit the number of IOs the background checkpoint process will consume per second.

dbms.directories.auth

Location of the directory where to store users and roles used for authentication and authorization.

dbms.directories.certificates

Directory for storing certificates to be used by Neo4j for TLS connections.

dbms.directories.data

Path of the data directory.

dbms.directories.import

Sets the root directory for file URLs used with the Cypher LOAD CSV clause.

dbms.directories.lib

Path of the lib directory.

dbms.directories.logs

Path of the logs directory.

dbms.directories.metrics

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

dbms.directories.plugins

Location of the database plugin directory.

dbms.directories.run

Path of the run directory.

dbms.index_sampling.background_enabled

Enable or disable background index sampling.

dbms.index_sampling.sample_size_limit

Index sampling chunk size limit.

dbms.index_sampling.update_percentage

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

dbms.index_searcher_cache_size

The maximum number of open Lucene index searchers.

dbms.logs.debug.level

Debug log level threshold.

dbms.logs.debug.rotation.delay

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

dbms.logs.debug.rotation.keep_number

Maximum number of history files for the debug log.

dbms.logs.debug.rotation.size

Threshold for rotation of the debug log.

dbms.logs.gc.enabled

Enable GC Logging.

dbms.logs.gc.options

GC Logging Options.

dbms.logs.gc.rotation.keep_number

Number of GC logs to keep.

dbms.logs.gc.rotation.size

Size of each GC log that is kept.

dbms.logs.http.enabled

Enable HTTP request logging.

dbms.logs.http.rotation.keep_number

Number of HTTP logs to keep.

dbms.logs.http.rotation.size

Size of each HTTP log that is kept.

dbms.logs.query.enabled

Log executed queries that takes longer than the configured threshold.

dbms.logs.query.parameter_logging_enabled

Log parameters for executed queries that took longer than the configured threshold.

dbms.logs.query.rotation.keep_number

Maximum number of history files for the query log.

dbms.logs.query.rotation.size

The file size in bytes at which the query log will auto-rotate.

dbms.logs.query.threshold

If the execution of query takes more time than this threshold, the query is logged - provided query logging is enabled.

dbms.memory.pagecache.size

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).

dbms.memory.pagecache.swapper

Specify which page swapper to use for doing paged IO.

dbms.mode

Configure the operating mode of the database — SINGLE for stand-alone operation, HA for operating as a member in a cluster or ARBITER for an HA-only cluster member with no database.

dbms.query_cache_size

The number of Cypher query execution plans that are cached.

dbms.read_only

Only allow read operations from this Neo4j instance.

dbms.record_format

Database record format.

dbms.relationship_grouping_threshold

Relationship count threshold for considering a node to be dense.

dbms.security.allow_csv_import_from_file_urls

Determines if Cypher will allow using file URLs when loading data using LOAD CSV.

dbms.security.auth_enabled

Enable auth requirement to access Neo4j.

dbms.security.ha_status_auth_enabled

Require authorization for access to the HA status endpoints.

dbms.security.http_authorization_classes

Comma-seperated list of custom security rules for Neo4j to use.

dbms.shell.enabled

Enable a remote shell server which Neo4j Shell clients can log in to.

dbms.shell.host

Remote host for shell.

dbms.shell.port

The port the shell will listen on.

dbms.shell.read_only

Read only mode.

dbms.shell.rmi_name

The name of the shell.

dbms.threads.worker_count

Number of Neo4j worker threads, your OS might enforce a lower limit than the maximum value specified here.

dbms.transaction_timeout

Timeout for idle transactions.

dbms.tx_log.rotation.retention_policy

Make Neo4j keep the logical transaction logs for being able to backup the database.

dbms.tx_log.rotation.size

Specifies at which file size the logical log will auto-rotate.

dbms.udc.enabled

Enable the UDC extension.

dbms.unmanaged_extension_classes

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

ha.allow_init_cluster

Whether to allow this instance to create a cluster if unable to join.

ha.branched_data_policy

Policy for how to handle branched data.

ha.broadcast_timeout

Timeout for broadcasting values in cluster.

ha.configuration_timeout

Timeout for waiting for configuration from an existing cluster member during cluster join.

ha.data_chunk_size

Max size of the data chunks that flows between master and slaves in HA.

ha.default_timeout

Default timeout used for clustering timeouts.

ha.election_timeout

Timeout for waiting for other members to finish a role election.

ha.heartbeat_interval

How often heartbeat messages should be sent.

ha.heartbeat_timeout

Timeout for heartbeats between cluster members.

ha.host.coordination

Host and port to bind the cluster management communication.

ha.host.data

Hostname and port to bind the HA server.

ha.initial_hosts

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

ha.internal_role_switch_timeout

Timeout for waiting for internal conditions during state switch, like for transactions to complete, before switching to master or slave.

ha.join_timeout

Timeout for joining a cluster.

ha.learn_timeout

Timeout for learning values.

ha.leave_timeout

Timeout for waiting for cluster leave to finish.

ha.max_acceptors

Maximum number of servers to involve when agreeing to membership changes.

ha.max_channels_per_slave

Maximum number of connections a slave can have to the master.

ha.paxos_timeout

Default timeout for all Paxos timeouts.

ha.phase1_timeout

Timeout for Paxos phase 1.

ha.phase2_timeout

Timeout for Paxos phase 2.

ha.pull_batch_size

Size of batches of transactions applied on slaves when pulling from master.

ha.pull_interval

Interval of pulling updates from master.

ha.role_switch_timeout

Timeout for request threads waiting for instance to become master or slave.

ha.server_id

Id for a cluster instance.

ha.slave_lock_timeout

Timeout for taking remote (write) locks on slaves.

ha.slave_only

Whether this instance should only participate as slave in cluster.

ha.slave_read_timeout

How long a slave will wait for response from master before giving up.

ha.tx_push_factor

The amount of slaves the master will ask to replicate a committed transaction.

ha.tx_push_strategy

Push strategy of a transaction to a slave during commit.

metrics.bolt.messages.enabled

Enable reporting metrics about Bolt Protocol message processing.

metrics.csv.enabled

Set to true to enable exporting metrics to CSV files.

metrics.csv.interval

The reporting interval for the CSV files.

metrics.cypher.replanning.enabled

Enable reporting metrics about number of occurred replanning events.

metrics.enabled

The default enablement value for all the supported metrics.

metrics.graphite.enabled

Set to true to enable exporting metrics to Graphite.

metrics.graphite.interval

The reporting interval for Graphite.

metrics.graphite.server

The hostname or IP address of the Graphite server.

metrics.jvm.buffers.enabled

Enable reporting metrics about the buffer pools.

metrics.jvm.gc.enabled

Enable reporting metrics about the duration of garbage collections.

metrics.jvm.memory.enabled

Enable reporting metrics about the memory usage.

metrics.jvm.threads.enabled

Enable reporting metrics about the current number of threads running.

metrics.neo4j.checkpointing.enabled

Enable reporting metrics about Neo4j check pointing.

metrics.neo4j.cluster.enabled

Enable reporting metrics about HA cluster info.

metrics.neo4j.core_edge.enabled

Enable reporting metrics about core-edge mode.

metrics.neo4j.counts.enabled

Enable reporting metrics about approximately how many entities are in the database.

metrics.neo4j.enabled

The default enablement value for all Neo4j specific support metrics.

metrics.neo4j.logrotation.enabled

Enable reporting metrics about the Neo4j log rotation.

metrics.neo4j.network.enabled

Enable reporting metrics about the network usage.

metrics.neo4j.pagecache.enabled

Enable reporting metrics about the Neo4j page cache.

metrics.neo4j.server.enabled

Enable reporting metrics about Server threading info.

metrics.neo4j.tx.enabled

Enable reporting metrics about transactions.

metrics.prefix

A common prefix for the reported metrics field names.

tools.consistency_checker.check_graph

Perform checks between nodes, relationships, properties, types and tokens.

tools.consistency_checker.check_indexes

Perform checks on indexes.

tools.consistency_checker.check_label_scan_store

Perform checks on the label scan store.

tools.consistency_checker.check_property_owners

Perform optional additional checking on property ownership.

Deprecated settings

NameDescription

dbms.index_sampling.buffer_size

Size of buffer used by index sampling.

browser.allow_outgoing_connections

Description

Configure the policy for outgoing Neo4j Browser connections.

Valid values

browser.allow_outgoing_connections is a boolean

Default value

true

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 is a duration (valid units are ms, s, m)

Default value

0

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 is a string

Default value

http://guides.neo4j.com,https://guides.neo4j.com,http://localhost,https://localhost

browser.retain_connection_credentials

Description

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

Valid values

browser.retain_connection_credentials is a boolean

Default value

true

cypher.default_language_version

Description

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

Valid values

cypher.default_language_version is one of 2.3, 3.0, 3.1, default

Default value

default

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 is a boolean

Default value

false

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 is a boolean

Default value

false

cypher.min_replan_interval

Description

The minimum lifetime of a query plan before a query is considered for replanning.

Valid values

cypher.min_replan_interval is a duration (valid units are ms, s, m)

Default value

1000

cypher.planner

Description

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

Valid values

cypher.planner is one of COST, RULE, default

Default value

default

cypher.statistics_divergence_threshold

Description

The threshold when a plan is considered stale. If any of the underlying statistics used to create the plan has changed more than this value, the plan is considered stale and will be replanned. A value of 0 means always replan, and 1 means never replan.

Valid values

cypher.statistics_divergence_threshold is a double which is minimum 0.0, and is maximum 1.0

Default value

0.5

dbms.active_database

Description

Name of the database to load.

Valid values

dbms.active_database is a string

Default value

graph.db

dbms.allow_format_migration

Description

Whether to allow a store upgrade in case the current version of the database starts against an older store version. Setting this to true does not guarantee successful upgrade, it just allows an upgrade to be performed.

Valid values

dbms.allow_format_migration is a boolean

Default value

false

dbms.backup.address

Description

Listening server for online backups.

Valid values

dbms.backup.address is a hostname and port

Default value

127.0.0.1:6362-6372

dbms.backup.enabled

Description

Enable support for running online backups.

Valid values

dbms.backup.enabled is a boolean

Default value

true

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, from which recovery would start from. Longer check-point intervals typically means 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 5m for a check-point every 5 minutes. Other supported units are s for seconds, and ms for milliseconds.

Valid values

dbms.checkpoint.interval.time is a duration (valid units are ms, s, m)

Default value

300000

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, from which recovery would start from. Longer check-point intervals typically means 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 is an integer which is minimum 1

Default value

100000

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. The configuration can also be commented out to remove the limitation entirely, and let the checkpointer flush data as fast as the hardware will go. Set this to -1 to disable the IOPS limit.

Valid values

dbms.checkpoint.iops.limit is an integer

Default value

1000

dbms.directories.auth

Description

Location of the directory where to store users and roles used for authentication and authorization.

Valid values

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

dbms.directories.certificates

Description

Directory for storing certificates to be used by Neo4j for TLS connections.

Valid values

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

certificates

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

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

data

dbms.directories.import

Description

Sets the root directory for file URLs used with the Cypher LOAD CSV clause. This must be set to a single directory, restricting access to only those files within that directory and its subdirectories.

Valid values

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

dbms.directories.lib

Description

Path of the lib directory.

Valid values

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

lib

dbms.directories.logs

Description

Path of the logs directory.

Valid values

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

logs

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

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

metrics

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

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

plugins

dbms.directories.run

Description

Path of the run directory.

Valid values

A filesystem path; relative paths are resolved against the installation root, <neo4j-home>

Default value

run

dbms.index_sampling.background_enabled

Description

Enable or disable background index sampling.

Valid values

dbms.index_sampling.background_enabled is a boolean

Default value

true

dbms.index_sampling.buffer_size

Description

Size of buffer used by index sampling. This configuration setting is no longer applicable as from Neo4j 3.0.3.Please use dbms.index_sampling.sample_size_limit instead.

Valid values

dbms.index_sampling.buffer_size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 1048576, and is maximum 2147483647

Default value

67108864

Deprecated

The dbms.index_sampling.buffer_size configuration setting has been deprecated.

dbms.index_sampling.sample_size_limit

Description

Index sampling chunk size limit.

Valid values

dbms.index_sampling.sample_size_limit is an integer which is minimum 1048576, and is maximum 2147483647

Default value

8388608

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 is an integer which is minimum 0

Default value

5

dbms.index_searcher_cache_size

Description

The maximum number of open Lucene index searchers.

Valid values

dbms.index_searcher_cache_size is an integer which is minimum 1

Default value

2147483647

dbms.logs.debug.level

Description

Debug log level threshold.

Valid values

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

Default value

INFO

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 is a duration (valid units are ms, s, m)

Default value

300000

dbms.logs.debug.rotation.keep_number

Description

Maximum number of history files for the debug log.

Valid values

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

Default value

7

dbms.logs.debug.rotation.size

Description

Threshold for rotation of the debug log.

Valid values

dbms.logs.debug.rotation.size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 0, and is maximum 9223372036854775807

Default value

20971520

dbms.logs.gc.enabled

Description

Enable GC Logging.

Valid values

dbms.logs.gc.enabled is a boolean

Default value

false

dbms.logs.gc.options

Description

GC Logging Options.

Valid values

dbms.logs.gc.options is a string

Default value

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution

dbms.logs.gc.rotation.keep_number

Description

Number of GC logs to keep.

Valid values

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

Default value

5

dbms.logs.gc.rotation.size

Description

Size of each GC log that is kept.

Valid values

dbms.logs.gc.rotation.size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 0, and is maximum 9223372036854775807

Default value

20971520

dbms.logs.http.enabled

Description

Enable HTTP request logging.

Valid values

dbms.logs.http.enabled is a boolean

Default value

false

dbms.logs.http.rotation.keep_number

Description

Number of HTTP logs to keep.

Valid values

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

Default value

5

dbms.logs.http.rotation.size

Description

Size of each HTTP log that is kept.

Valid values

dbms.logs.http.rotation.size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 0, and is maximum 9223372036854775807

Default value

20971520

dbms.logs.query.enabled

Description

Log executed queries that takes longer than the configured threshold. NOTE: This feature is only available in the Neo4j Enterprise Edition.

Valid values

dbms.logs.query.enabled is a boolean

Default value

false

dbms.logs.query.parameter_logging_enabled

Description

Log parameters for executed queries that took longer than the configured threshold.

Valid values

dbms.logs.query.parameter_logging_enabled is a boolean

Default value

true

dbms.logs.query.rotation.keep_number

Description

Maximum number of history files for the query log.

Valid values

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

Default value

7

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 is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 0, and is maximum 9223372036854775807

Default value

20971520

dbms.logs.query.threshold

Description

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

Valid values

dbms.logs.query.threshold is a duration (valid units are ms, s, m)

Default value

0

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. The default page cache memory assumes the machine is dedicated to running Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size.

Valid values

dbms.memory.pagecache.size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 245760

Default value

3443736576

dbms.memory.pagecache.swapper

Description

Specify which page swapper to use for doing paged IO. This is only used when integrating with proprietary storage technology.

Valid values

dbms.memory.pagecache.swapper is a string

dbms.mode

Description

Configure the operating mode of the database — SINGLE for stand-alone operation, HA for operating as a member in a cluster or ARBITER for an HA-only cluster member with no database.

Valid values

dbms.mode is a string

Default value

SINGLE

dbms.query_cache_size

Description

The number of Cypher query execution plans that are cached.

Valid values

dbms.query_cache_size is an integer which is minimum 0

Default value

1000

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 is a boolean

Default value

false

dbms.record_format

Description

Database record format. Enterprise edition only. Valid values: standard, +<<config_high_limit,high_limit>>+. Default value: standard.

Valid values

dbms.record_format is a string

Default value

dbms.relationship_grouping_threshold

Description

Relationship count threshold for considering a node to be dense.

Valid values

dbms.relationship_grouping_threshold is an integer which is minimum 1

Default value

50

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 is a boolean

Default value

true

dbms.security.auth_enabled

Description

Enable auth requirement to access Neo4j.

Valid values

dbms.security.auth_enabled is a boolean

Default value

false

dbms.security.ha_status_auth_enabled

Description

Require authorization for access to the HA status endpoints.

Valid values

dbms.security.ha_status_auth_enabled is a boolean

Default value

true

dbms.security.http_authorization_classes

Description

Comma-seperated list of custom security rules for Neo4j to use.

Valid values

dbms.security.http_authorization_classes is a comma-seperated string

Default value

[]

dbms.shell.enabled

Description

Enable a remote shell server which Neo4j Shell clients can log in to.

Valid values

dbms.shell.enabled is a boolean

Default value

false

dbms.shell.host

Description

Remote host for shell. By default, the shell server listens only on the loopback interface, but you can specify the IP address of any network interface or use 0.0.0.0 for all interfaces.

Valid values

dbms.shell.host is a string which must be a valid name

Default value

127.0.0.1

dbms.shell.port

Description

The port the shell will listen on.

Valid values

dbms.shell.port is an integer which must be a valid port number (is in the range 0 to 65535)

Default value

1337

dbms.shell.read_only

Description

Read only mode. Will only allow read operations.

Valid values

dbms.shell.read_only is a boolean

Default value

false

dbms.shell.rmi_name

Description

The name of the shell.

Valid values

dbms.shell.rmi_name is a string which must be a valid name

Default value

shell

dbms.threads.worker_count

Description

Number of Neo4j worker threads, your OS might enforce a lower limit than the maximum value specified here.

Valid values

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

Default value

2

dbms.transaction_timeout

Description

Timeout for idle transactions.

Valid values

dbms.transaction_timeout is a duration (valid units are ms, s, m)

Default value

60000

dbms.tx_log.rotation.retention_policy

Description

Make Neo4j keep the logical transaction logs for being able to backup the database. Can be used for specifying the threshold to prune logical logs after. For example "10 days" will prune logical logs that only contains transactions older than 10 days from the current time, or "100k txs" will keep the 100k latest transactions and prune any older transactions.

Valid values

dbms.tx_log.rotation.retention_policy is a string which must be true/false or of format <number><optional unit> <type> for example 100M size for limiting logical log space on disk to 100Mb, or 200k txs for limiting the number of transactions to keep to 200 000

Default value

7 days

dbms.tx_log.rotation.size

Description

Specifies at which file size the logical log will auto-rotate. 0 means that no rotation will automatically occur based on file size.

Valid values

dbms.tx_log.rotation.size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 1048576

Default value

262144000

dbms.udc.enabled

Description

Enable the UDC extension.

Valid values

dbms.udc.enabled is a boolean

Default value

true

dbms.unmanaged_extension_classes

Description

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

Valid values

dbms.unmanaged_extension_classes is a comma-seperated list of <classname>=<mount point> strings

Default value

[]

ha.allow_init_cluster

Description

Whether to allow this instance to create a cluster if unable to join.

Valid values

ha.allow_init_cluster is a boolean

Default value

true

ha.branched_data_policy

Description

Policy for how to handle branched data.

Valid values

ha.branched_data_policy is one of keep_all, keep_last, keep_none

Default value

keep_all

ha.broadcast_timeout

Description

Timeout for broadcasting values in cluster. Must consider end-to-end duration of Paxos algorithm. This value is the default value for the ha.join_timeout and ha.leave_timeout settings.

Valid values

ha.broadcast_timeout is a duration (valid units are ms, s, m)

Default value

30000

ha.configuration_timeout

Description

Timeout for waiting for configuration from an existing cluster member during cluster join.

Valid values

ha.configuration_timeout is a duration (valid units are ms, s, m)

Default value

1000

ha.data_chunk_size

Description

Max size of the data chunks that flows between master and slaves in HA. Bigger size may increase throughput, but may also be more sensitive to variations in bandwidth, whereas lower size increases tolerance for bandwidth variations.

Valid values

ha.data_chunk_size is a byte size (valid multipliers are k, m, g, K, M, G) which is minimum 1024

Default value

2097152

ha.default_timeout

Description

Default timeout used for clustering timeouts. Override specific timeout settings with proper values if necessary. This value is the default value for the ha.heartbeat_interval, ha.paxos_timeout and ha.learn_timeout settings.

Valid values

ha.default_timeout is a duration (valid units are ms, s, m)

Default value

5000

ha.election_timeout

Description

Timeout for waiting for other members to finish a role election. Defaults to ha.paxos_timeout.

Valid values

ha.election_timeout is a duration (valid units are ms, s, m)

Default value

5000

ha.heartbeat_interval

Description

How often heartbeat messages should be sent. Defaults to ha.default_timeout.

Valid values

ha.heartbeat_interval is a duration (valid units are ms, s, m)

Default value

5000

ha.heartbeat_timeout

Description

Timeout for heartbeats between cluster members. Should be at least twice that of ha.heartbeat_interval.

Valid values

ha.heartbeat_timeout is a duration (valid units are ms, s, m)

Default value

11000

ha.host.coordination

Description

Host and port to bind the cluster management communication.

Valid values

ha.host.coordination is a hostname and port

Default value

0.0.0.0:5001-5099

ha.host.data

Description

Hostname and port to bind the HA server.

Valid values

ha.host.data is a hostname and port

Default value

0.0.0.0:6001-6011

ha.initial_hosts

Description

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

Valid values

ha.initial_hosts is a list separated by "," where items are a hostname and port

Mandatory

The ha.initial_hosts configuration setting is mandatory.

ha.internal_role_switch_timeout

Description

Timeout for waiting for internal conditions during state switch, like for transactions to complete, before switching to master or slave.

Valid values

ha.internal_role_switch_timeout is a duration (valid units are ms, s, m)

Default value

10000

ha.join_timeout

Description

Timeout for joining a cluster. Defaults to ha.broadcast_timeout.

Valid values

ha.join_timeout is a duration (valid units are ms, s, m)

Default value

30000

ha.learn_timeout

Description

Timeout for learning values. Defaults to ha.default_timeout.

Valid values

ha.learn_timeout is a duration (valid units are ms, s, m)

Default value

5000

ha.leave_timeout

Description

Timeout for waiting for cluster leave to finish. Defaults to ha.broadcast_timeout.

Valid values

ha.leave_timeout is a duration (valid units are ms, s, m)

Default value

30000

ha.max_acceptors

Description

Maximum number of servers to involve when agreeing to membership changes. In very large clusters, the probability of half the cluster failing is low, but protecting against any arbitrary half failing is expensive. Therefore you may wish to set this parameter to a value less than the cluster size.

Valid values

ha.max_acceptors is an integer which is minimum 1

Default value

21

ha.max_channels_per_slave

Description

Maximum number of connections a slave can have to the master.

Valid values

ha.max_channels_per_slave is an integer which is minimum 1

Default value

20

ha.paxos_timeout

Description

Default timeout for all Paxos timeouts. Defaults to ha.default_timeout. This value is the default value for the ha.phase1_timeout, ha.phase2_timeout and ha.election_timeout settings.

Valid values

ha.paxos_timeout is a duration (valid units are ms, s, m)

Default value

5000

ha.phase1_timeout

Description

Timeout for Paxos phase 1. Defaults to ha.paxos_timeout.

Valid values

ha.phase1_timeout is a duration (valid units are ms, s, m)

Default value

5000

ha.phase2_timeout

Description

Timeout for Paxos phase 2. Defaults to ha.paxos_timeout.

Valid values

ha.phase2_timeout is a duration (valid units are ms, s, m)

Default value

5000

ha.pull_batch_size

Description

Size of batches of transactions applied on slaves when pulling from master.

Valid values

ha.pull_batch_size is an integer

Default value

100

ha.pull_interval

Description

Interval of pulling updates from master.

Valid values

ha.pull_interval is a duration (valid units are ms, s, m)

Default value

0

ha.role_switch_timeout

Description

Timeout for request threads waiting for instance to become master or slave.

Valid values

ha.role_switch_timeout is a duration (valid units are ms, s, m)

Default value

120000

ha.server_id

Description

Id for a cluster instance. Must be unique within the cluster.

Valid values

ha.server_id is an instance id, which has to be a valid integer

Mandatory

The ha.server_id configuration setting is mandatory.

ha.slave_lock_timeout

Description

Timeout for taking remote (write) locks on slaves. Defaults to ha.slave_read_timeout.

Valid values

ha.slave_lock_timeout is a duration (valid units are ms, s, m)

Default value

20000

ha.slave_only

Description

Whether this instance should only participate as slave in cluster. If set to true, it will never be elected as master.

Valid values

ha.slave_only is a boolean

Default value

false

ha.slave_read_timeout

Description

How long a slave will wait for response from master before giving up.

Valid values

ha.slave_read_timeout is a duration (valid units are ms, s, m)

Default value

20000

ha.tx_push_factor

Description

The amount of slaves the master will ask to replicate a committed transaction.

Valid values

ha.tx_push_factor is an integer which is minimum 0

Default value

1

ha.tx_push_strategy

Description

Push strategy of a transaction to a slave during commit.

Valid values

ha.tx_push_strategy is one of round_robin, fixed_descending, fixed_ascending

Default value

fixed_ascending

metrics.bolt.messages.enabled

Description

Enable reporting metrics about Bolt Protocol message processing.

Valid values

metrics.bolt.messages.enabled is a boolean

Default value

false

metrics.csv.enabled

Description

Set to true to enable exporting metrics to CSV files.

Valid values

metrics.csv.enabled is a boolean

Default value

false

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 is a duration (valid units are ms, s, m)

Default value

3000

metrics.cypher.replanning.enabled

Description

Enable reporting metrics about number of occurred replanning events.

Valid values

metrics.cypher.replanning.enabled is a boolean

Default value

false

metrics.enabled

Description

The default enablement value for all the supported metrics. Set this to false to turn off all metrics by default. The individual settings can then be used to selectively re-enable specific metrics.

Valid values

metrics.enabled is a boolean

Default value

false

metrics.graphite.enabled

Description

Set to true to enable exporting metrics to Graphite.

Valid values

metrics.graphite.enabled is a boolean

Default value

false

metrics.graphite.interval

Description

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

Valid values

metrics.graphite.interval is a duration (valid units are ms, s, m)

Default value

3000

metrics.graphite.server

Description

The hostname or IP address of the Graphite server.

Valid values

metrics.graphite.server is a hostname and port

Default value

:2003

metrics.jvm.buffers.enabled

Description

Enable reporting metrics about the buffer pools.

Valid values

metrics.jvm.buffers.enabled is a boolean

Default value

false

metrics.jvm.gc.enabled

Description

Enable reporting metrics about the duration of garbage collections.

Valid values

metrics.jvm.gc.enabled is a boolean

Default value

false

metrics.jvm.memory.enabled

Description

Enable reporting metrics about the memory usage.

Valid values

metrics.jvm.memory.enabled is a boolean

Default value

false

metrics.jvm.threads.enabled

Description

Enable reporting metrics about the current number of threads running.

Valid values

metrics.jvm.threads.enabled is a boolean

Default value

false

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 is a boolean

Default value

false

metrics.neo4j.cluster.enabled

Description

Enable reporting metrics about HA cluster info.

Valid values

metrics.neo4j.cluster.enabled is a boolean

Default value

false

metrics.neo4j.core_edge.enabled

Description

Enable reporting metrics about core-edge mode.

Valid values

metrics.neo4j.core_edge.enabled is a boolean

Default value

false

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 is a boolean

Default value

false

metrics.neo4j.enabled

Description

The default enablement value for all Neo4j specific support metrics. Set this to false to turn off all Neo4j specific metrics by default. The individual metrics.neo4j.* metrics can then be turned on selectively.

Valid values

metrics.neo4j.enabled is a boolean

Default value

false

metrics.neo4j.logrotation.enabled

Description

Enable reporting metrics about the Neo4j log rotation; when it occurs and how much time it takes to complete.

Valid values

metrics.neo4j.logrotation.enabled is a boolean

Default value

false

metrics.neo4j.network.enabled

Description

Enable reporting metrics about the network usage.

Valid values

metrics.neo4j.network.enabled is a boolean

Default value

false

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 is a boolean

Default value

false

metrics.neo4j.server.enabled

Description

Enable reporting metrics about Server threading info.

Valid values

metrics.neo4j.server.enabled is a boolean

Default value

false

metrics.neo4j.tx.enabled

Description

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

Valid values

metrics.neo4j.tx.enabled is a boolean

Default value

false

metrics.prefix

Description

A common prefix for the reported metrics field names. By default, this is either be neo4j, or a computed value based on the cluster and instance names, when running in an HA configuration.

Valid values

metrics.prefix is a string

Default value

neo4j

tools.consistency_checker.check_graph

Description

Perform checks between nodes, relationships, properties, types and tokens.

Valid values

tools.consistency_checker.check_graph is a boolean

Default value

true

tools.consistency_checker.check_indexes

Description

Perform checks on indexes. Checking indexes is more expensive than checking the native stores, so it may be useful to turn off this check for very large databases.

Valid values

tools.consistency_checker.check_indexes is a boolean

Default value

true

tools.consistency_checker.check_label_scan_store

Description

Perform checks on the label scan store. Checking this store is more expensive than checking the native stores, so it may be useful to turn off this check for very large databases.

Valid values

tools.consistency_checker.check_label_scan_store is a boolean

Default value

true

tools.consistency_checker.check_property_owners

Description

Perform optional additional checking on property ownership. This can detect a theoretical inconsistency where a property could be owned by multiple entities. However, the check is very expensive in time and memory, so it is skipped by default.

Valid values

tools.consistency_checker.check_property_owners is a boolean

Default value

false

Configuring Bolt Connectors

Bolt Connectors are ports that accept connections via the Bolt Database Protocol, which is the protocol used by official Neo4j Driver Libraries. Neo4j can be configured with one or more Bolt connectors. This allows separate connectors to be configured for remote and local connections, with different encryption requirements.

Each connector has a unique key to identify it, denoted (bolt-connector-key) in the listing below.

Configuration options for Bolt connectors. "(bolt-connector-key)" is a placeholder for a unique name for the connector, for instance "bolt-public" or some other name that describes what the connector is for.

NameDescription

dbms.connector.(bolt-connector-key).address

Address the connector should bind to.

dbms.connector.(bolt-connector-key).enabled

Enable this connector.

dbms.connector.(bolt-connector-key).tls_level

Encryption level to require this connector to use.

dbms.connector.(bolt-connector-key).type

Connector type.

dbms.connector.(bolt-connector-key).address

Description

Address the connector should bind to.

Valid values

address is a hostname and port

Default value

localhost:7687

dbms.connector.(bolt-connector-key).enabled

Description

Enable this connector.

Valid values

enabled is a boolean

Default value

false

dbms.connector.(bolt-connector-key).tls_level

Description

Encryption level to require this connector to use.

Valid values

tls_level is one of REQUIRED, OPTIONAL, DISABLED

Default value

OPTIONAL

dbms.connector.(bolt-connector-key).type

Description

Connector type. You should always set this to the connector type you want.

Valid values

type is one of BOLT, HTTP

Default value

BOLT

[Caution]Caution

Using auto-generation of self-signed SSL certificates will not work if the Neo4j server has been configured with multiple connectors that bind to different IP addresses. If you need to use multiple IP addresses, please configure certificates manually and use multi-host or wildcard certificates instead.

Configuring HTTP Connectors

HTTP Connectors expose Neo4j’s HTTP endpoints. HTTPS connectors are configured by setting a connector to require encryption. There must be exactly one HTTP connector and zero or one HTTPS connectors configured.

Each connector has a unique key to identify it, denoted (http-connector-key) in the listing below.

Configuration options for HTTP connectors. "(http-connector-key)" is a placeholder for a unique name for the connector, for instance "http-public" or some other name that describes what the connector is for.

NameDescription

dbms.connector.(http-connector-key).address

Address the connector should bind to.

dbms.connector.(http-connector-key).enabled

Enable this connector.

dbms.connector.(http-connector-key).encryption

Enable TLS for this connector.

dbms.connector.(http-connector-key).type

Connector type.

dbms.connector.(http-connector-key).address

Description

Address the connector should bind to.

Valid values

address is a hostname and port

Default value

localhost:7474

dbms.connector.(http-connector-key).enabled

Description

Enable this connector.

Valid values

enabled is a boolean

Default value

false

dbms.connector.(http-connector-key).encryption

Description

Enable TLS for this connector.

Valid values

encryption is one of NONE, TLS

Default value

NONE

dbms.connector.(http-connector-key).type

Description

Connector type. You should always set this to the connector type you want.

Valid values

type is one of BOLT, HTTP

Default value

HTTP

[Caution]Caution

Using auto-generation of self-signed SSL certificates will not work if the Neo4j server has been configured with multiple connectors that bind to different IP addresses. If you need to use multiple IP addresses, please configure certificates manually and use multi-host or wildcard certificates instead.