Knowledge Base

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 implementation the syntax would be similar to

$ java -cp "lib/*;system/lib/*" org.neo4j.consistency.ConsistencyCheckTool c:\tmp\graph.db

In each of the instance above, replace /tmp/graph.db or c:\tmp\graph.db with the actual path of the Neo database.

To tune the check to skip Indexes (the most impactful modification), simply add the following line to conf/neo4j.properties (2.x) or conf/neo4j.conf(3.x), and pass it into the tool on the command line:

consistency_check_indexes=false

Now run the command with the configuration file passed along:

$ java -cp 'lib/*:system/lib/*' org.neo4j.consistency.ConsistencyCheckTool -config conf/neo4j.properties /tmp/foo

There are additional configuration options. They are listed in their 2.x name / 3.x name

consistency_check_property_owners / tools.consistency_checker.check_property_owners

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.

consistency_check_label_scan_store / tools.consistency_checker.check_label_scan_store

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.

consistency_check_indexes / tools.consistency_checker.check_indexes

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.

consistency_check_execution_order

Execution order of store cross-checks to be used when running consistency check

consistency_check_report_file: File name for inconsistencies log file. If not specified, logs to a file in the store directory.