Proper File Permissions on Neo4j Server

When installing Neo4j Server, keep in mind that the bin/neo4j executable will need to be run by some OS system user, and that user will need write permissions to some files/directories, specifically to the data directory. That user will also… Read more →

How do I configure init and max java heap when running bin/neo4j-backup

When running $NEO4J_HOME/bin/neo4j-backup if a Java out of heap/memory error occurs you may want define the init and max Java heap to be used by neo4j-backup. The default behavior is to allow the JVM to define the init and max… Read more →

Debian / Ubuntu: How to enforce a certain version of neo4j when using debian packages

If you want to run a specific version of Neo4j and install the software via a debian repository you need to use a technique called apt pinning. Otherwise any system update will also update Neo4j to its latest stable version.… Read more →

How to logrotate neo4j.log file

The neo4j.log file is a redirection to STDOUT. When you implement a default logrotate strategy, Neo4j will not be able to write to that file anymore after a rotation. Solution You can use “copytruncate” in your logrotate configuration file. Example… Read more →

Understanding Database Growth

The easiest way to determine the size of your graph is through the filesystem and summing up the size of the files named *store.db*. For example on linux implmentations one can run du -hc $NEO4J_HOME/data/databases/graph.db/*store.db* and this should be run… Read more →

How do I convert Neo4j logs from base UTC to local timezone

With the introduction of Neo4j 3.3.1 it is possible to represent date timestamps in your $NEO4J_HOME/logs/* in either UTC or SYSTEM timezone through the implementation of dbms.logs.timezone However for prior releases all Neo4j logs will preface each line with a… Read more →

Long GC Pauses caused by application code calling System.gc()

When investigating the cause of long garbage collection cycles, it is often useful to enable GC logging. You can do so by following the product documentation. Once this is enabled, you can look through the GC log file for signs… Read more →

Sending Neo4j messages to a Slack channel

Although not specific to Neo4j and this knowledge base document is provided as a convenience, if your environment has a Slack implementation, then Slack provides an API to allow you to programmatically send messags to a specific channel. This can… Read more →

How do I run Consistency Check Manually?

If you skip the Consistency Check part of neo4j-backup, or you want to check that all is well with a data store, you can run the tool against an offline store. $ java -cp ‘lib/*:system/lib/*’ org.neo4j.consistency.ConsistencyCheckTool /tmp/graph.db On a Windows… Read more →

How do I monitor linux open file usage

Linux users are typically configured with a maximum number of files to be opened. This is describe at based upon your installation method. To monitor how many open files a user has one can run lsof -u <user> replacing <user>… Read more →