24.5. Kernel configuration

These are the configuration options you can pass to the neo4j kernel. They can either be passed as a map when using the embedded database, or in the conf/neo4j.properties file when using the Neo4j Server.

Allow file urls

Default value: true

allow_file_urls

Determines if Cypher will allow using file URL when importing data using LOAD CSV. Setting this value to false will cause Neo4j to fail LOAD CSV queries that import data from the file system

Allow store upgrade

Default value: false

allow_store_upgrade

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, just that it allows an attempt at it.

Array block size

Default value: 120

array_block_size

Specifies the block size for storing arrays. This parameter is only honored when the store is created, otherwise it is ignored. The default block size is 120 bytes, and the overhead of each block is the same as for string blocks, i.e., 8 bytes.

Batched writes

Default value: true

batched_writes

Whether or not transactions are appended to the log in batches

Cache type

Default value: soft

cache_type

The type of cache to use for nodes and relationships. Note that the Neo4j Enterprise Edition has the additional 'hpc' cache type (High-Performance Cache). See the chapter on caches in the manual for more information.

Cypher parser version

cypher_parser_version

Enable this to specify a parser other than the default one.

Dense node threshold

Default value: 50

dense_node_threshold

Relationship count threshold for considering a node dense

Dump configuration

Default value: false

dump_configuration

Print out the effective Neo4j configuration after startup.

Forced kernel id

forced_kernel_id

An identifier that uniquely identifies this graph database instance within this JVM. Defaults to an auto-generated number depending on how many instance are started in this JVM.

Gc monitor threshold

Default value: 200

gc_monitor_threshold

The amount of time in ms the monitor thread has to be blocked before logging a message it was blocked.

Gc monitor wait time

Default value: 100

gc_monitor_wait_time

Amount of time in ms the GC monitor thread will wait before taking another measurement.

Intercept committing transactions

Default value: false

intercept_committing_transactions

Determines whether any TransactionInterceptors loaded will intercept prepared transactions before they reach the logical log.

Intercept deserialized transactions

Default value: false

intercept_deserialized_transactions

Determines whether any TransactionInterceptors loaded will intercept externally received transactions (e.g. in HA) before they reach the logical log and are applied to the store.

Keep logical logs

Default value: 7 days

keep_logical_logs

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.

Label block size

Default value: 60

label_block_size

Specifies the block size for storing labels exceeding in-lined space in node record. This parameter is only honored when the store is created, otherwise it is ignored. The default block size is 60 bytes, and the overhead of each block is the same as for string blocks, i.e., 8 bytes.

Log mapped memory stats

Default value: false

log_mapped_memory_stats

Tell Neo4j to regularly log memory mapping statistics.

Log mapped memory stats filename

Default value: mapped_memory_stats.log

log_mapped_memory_stats_filename

The file where Neo4j will record memory mapping statistics.

Log mapped memory stats interval

Default value: 1000000

log_mapped_memory_stats_interval

The number of records to be loaded between regular logging of memory mapping statistics.

Logging.history

Default value: 7

logging.history

Max nr of history files for messages.log.

Logical log rotation threshold

Default value: 26214400

logical_log_rotation_threshold

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

Lucene searcher cache size

Default value: 2147483647

lucene_searcher_cache_size

Integer value that sets the maximum number of open lucene index searchers.

Mapped memory page size

Default value: 8192

mapped_memory_page_size

Target size for pages of mapped memory.

Mapped memory total size

Default value: 1908932608

mapped_memory_total_size

The amount of memory to use for mapping the store files, either in bytes or as a percentage of available memory. This will be clipped at the amount of free memory observed when the database starts, and automatically be rounded down to the nearest whole page. For example, if "500MB" is configured, but only 450MB of memory is free when the database starts, then the database will map at most 450MB. If "50%" is configured, and the system has a capacity of 4GB, then at most 2GB of memory will be mapped, unless the database observes that less than 2GB of memory is free when it starts.

Neo store

Default value: neostore

neo_store

The base name for the Neo4j Store files, either an absolute path or relative to the store_dir setting. This should generally not be changed.

Neostore.nodestore.db.mapped memory

neostore.nodestore.db.mapped_memory

The size to allocate for memory mapping the node store.

Neostore.propertystore.db.arrays.mapped memory

neostore.propertystore.db.arrays.mapped_memory

The size to allocate for memory mapping the array property store.

Neostore.propertystore.db.index.keys.mapped memory

neostore.propertystore.db.index.keys.mapped_memory

The size to allocate for memory mapping the store for property key strings.

Neostore.propertystore.db.index.mapped memory

neostore.propertystore.db.index.mapped_memory

The size to allocate for memory mapping the store for property key indexes.

Neostore.propertystore.db.mapped memory

neostore.propertystore.db.mapped_memory

The size to allocate for memory mapping the property value store.

Neostore.propertystore.db.strings.mapped memory

neostore.propertystore.db.strings.mapped_memory

The size to allocate for memory mapping the string property store.

Neostore.relationshipstore.db.mapped memory

neostore.relationshipstore.db.mapped_memory

The size to allocate for memory mapping the relationship store.

Node auto indexing

Default value: false

node_auto_indexing

Controls the auto indexing feature for nodes. Setting to false shuts it down, while true enables it by default for properties listed in the node_keys_indexable setting.

Node keys indexable

node_keys_indexable

A list of property names (comma separated) that will be indexed by default. This applies to Nodes only.

Query cache size

Default value: 100

query_cache_size

Used to set the number of Cypher query execution plans that are cached.

Query plan ttl

Default value: 1000

query_plan_ttl

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

Read only database

Default value: false

read_only

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

Rebuild idgenerators fast

Default value: true

rebuild_idgenerators_fast

Use a quick approach for rebuilding the ID generators. This give quicker recovery time, but will limit the ability to reuse the space of deleted entities.

Relationship auto indexing

Default value: false

relationship_auto_indexing

Controls the auto indexing feature for relationships. Setting to false shuts it down, while true enables it by default for properties listed in the relationship_keys_indexable setting.

Relationship grab size

Default value: 100

relationship_grab_size

How many relationships to read at a time during iteration

Relationship keys indexable

relationship_keys_indexable

A list of property names (comma separated) that will be indexed by default. This applies to Relationships only.

Remote logging enabled

Default value: false

remote_logging_enabled

Whether to enable logging to a remote server or not.

Remote logging host

Default value: 127.0.0.1

remote_logging_host

Host for remote logging using LogBack SocketAppender.

Remote logging port

Default value: 4560

remote_logging_port

Port for remote logging using LogBack SocketAppender.

Store dir

store_dir

The directory where the database files are located.

String block size

Default value: 120

string_block_size

Specifies the block size for storing strings. This parameter is only honored when the store is created, otherwise it is ignored. Note that each character in a string occupies two bytes, meaning that a block size of 120 (the default size) will hold a 60 character long string before overflowing into a second block. Also note that each block carries an overhead of 8 bytes. This means that if the block size is 120, the size of the stored records will be 128 bytes.

Tx manager impl

Default value: native

tx_manager_impl

The name of the Transaction Manager service to use as defined in the TM service provider constructor.

Use memory mapped buffers

Default value: true

use_memory_mapped_buffers

Tell Neo4j to use memory mapped buffers for accessing the native storage layer.