古いバージョンで作ったNeo4jのデータストア上でインスタンスを起動すると、データストアをアップグレードすることを促すメッセージが出力されます。しかし、最近、次のように不可解なメッセージが出力されて、インスタンス起動に失敗するケースが報告されています(Linux community-2.3.1)。このメッセージでは、Stack Overflowをみても全然問題解決に導かれません。
$ neo4j start
Starting Neo4j Server...WARNING: not changing user
process [9091]... waiting for server to be ready... Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.
log/console.logを見ると原因と対応策が記されています。データストアが古いから、アップグレードしないと言っています。
ERROR Neo4j cannot be started, because the database files require upgrading and upgrades are disabled in configuration. Please set 'allow_store_upgrade' to 'true' in your configuration file and try again.
古いデータストア上でNeo4jのインスタンスを起動する時は、「conf/neo4j.properties」の「#allow_store_upgrade=true」をコメントアウトする必要があります。
conf/neo4j.properties
#allow_store_upgrade=true
allow_store_upgrade=true
従来では、古いバージョンで作ったデータストアでインスタンスを起動しようとすると、次のようなメッセージが表示されていました。
Starting Neo4j Server failed: Startup failed due to preflight task [class org.neo4j.server.preflight.PerformUpgradeIfNecessary]: Failed to start Neo4j with an older data store version. To enable automatic upgrade, please set configuration parameter "allow_store_upgrade=true"
なぜ、不可解なエラーメッセージが表示されるのかは分かりませんが、困っている方はこの記事に辿りつくことを祈るばかりです。