知识库

错误解释:数据库启动失败,提示 Caused by: org.neo4j.token.api.NonUniqueTokenException: The PropertyKey NamedToken

当尝试启动 Neo4j 并且正在运行 Neo4j 4.0.x 版本(其中 x ⇐2)时,可能会遇到以下错误,并记录在 logs\debg.log 中。

Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.internal.recordstorage.RecordStorageEngine$2@783ae61f' failed to initialize. Please see the attached cause exception "The PropertyKey NamedToken[name:prop1, id:321, internal:false] is not unique, it existed as null.".
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:426)
        at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:66)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:102)
        at org.neo4j.kernel.database.Database.start(Database.java:462)
        ... 13 more
Caused by: org.neo4j.token.api.NonUniqueTokenException: The PropertyKey NamedToken[name:prop1, id:321, internal:false] is not unique, it existed as null.

仅当您的环境先前运行 Neo4j 3.5.x 版本,随后升级到 4.0.x(其中 x ⇐2)时,才会报告此错误。

此错误已在 Neo4j 4.0.3 及以后版本中得到解决。如果您遇到此错误,可采用 neo4j-admin copy 作为变通方法。该操作为离线活动,会读取数据库并创建一个不含底层 data/database/* 文件错误的新副本。

© . This site is unofficial and not affiliated with Neo4j, Inc.