知识库

错误解释:数据库启动失败,原因:org.neo4j.token.api.NonUniqueTokenException: 属性键 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/* 文件中的错误。

© . All rights reserved.