21.3. 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 neo4j.properties file when using the Neo4j Server.

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


Array block size

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.

LimitValue
Default value: 120
min

1


Backup slave

Default value: false

backup_slave

Mark this database as a backup slave.


Cache type

cache_type

The type of cache to use for nodes and relationships. Note that the Neo4j Enterprise Edition has the additional 'gcr' cache type. See the chapter on caches in the manual for more information.

ValueDescription
Default value: soft

soft

Provides optimal utilization of the available memory. Suitable for high performance traversal. May run into GC issues under high load if the frequently accessed parts of the graph does not fit in the cache.

weak

Use weak reference cache.

strong

Use strong references.

none

Don’t use caching.

Cypher parser version

cypher_parser_version

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

ValueDescription

1.5

Cypher v1.5 syntax.

1.6

Cypher v1.6 syntax.

1.7

Cypher v1.7 syntax.

Dump configuration

Default value: false

dump_configuration

Print out the effective Neo4j configuration after startup.


Forced kernel id

Default value:

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: 200ms

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: 100ms

gc_monitor_wait_time

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


Gcr cache min log interval

Default value: 60s

gcr_cache_min_log_interval

The minimal time that must pass in between logging statistics from the cache (when using the 'gcr' cache).


Grab file lock

Default value: true

grab_file_lock

Whether to grab locks on files or not.


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

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.


Logging.threshold for rotation

logging.threshold_for_rotation

Threshold in bytes for when database logs (text logs, for debugging, that is) are rotated.

LimitValue
Default value: 104857600
min

1


Logical log

Default value: nioneo_logical.log

logical_log

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


Lucene searcher cache size

lucene_searcher_cache_size

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

LimitValue
Default value: 2147483647
min

1


Lucene writer cache size

lucene_writer_cache_size

NOTE: This no longer has any effect. Integer value that sets the maximum number of open lucene index writers.

LimitValue
Default value: 2147483647
min

1


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

Default value: 20M

neostore.nodestore.db.mapped_memory

The size to allocate for memory mapping the node store.


Neostore.propertystore.db.arrays.mapped memory

Default value: 130M

neostore.propertystore.db.arrays.mapped_memory

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


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

Default value: 1M

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

Default value: 1M

neostore.propertystore.db.index.mapped_memory

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


Neostore.propertystore.db.mapped memory

Default value: 90M

neostore.propertystore.db.mapped_memory

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


Neostore.propertystore.db.strings.mapped memory

Default value: 130M

neostore.propertystore.db.strings.mapped_memory

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


Neostore.relationshipstore.db.mapped memory

Default value: 100M

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 cache array fraction

node_cache_array_fraction

The fraction of the heap (1%-10%) to use for the base array in the node cache (when using the 'gcr' cache).

LimitValue
Default value: 1.0
min

1.0

max

10.0


Node cache size

node_cache_size

The amount of memory to use for the node cache (when using the 'gcr' cache).


Node keys indexable

node_keys_indexable

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


Read only database

Default value: false

read_only

Only allow read operations from this Neo4j instance.


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 cache array fraction

relationship_cache_array_fraction

The fraction of the heap (1%-10%) to use for the base array in the relationship cache (when using the 'gcr' cache).

LimitValue
Default value: 1.0
min

1.0

max

10.0


Relationship cache size

relationship_cache_size

The amount of memory to use for the relationship cache (when using the 'gcr' cache).


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

remote_logging_port

Port for remote logging using LogBack SocketAppender.

LimitValue
Default value: 4560
min

1

max

65535


Store dir

store_dir

The directory where the database files are located.


String block size

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.

LimitValue
Default value: 120
min

1


Tx manager impl

tx_manager_impl

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


Use memory mapped buffers

use_memory_mapped_buffers

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