“storeId 与本机不同”错误的解释
如果您在 $NEO4J_HOME/logs/debug.log
中遇到类似以下信息中的 "Failed to serve TxPullRequest for … storeId xxxxxx because that storeId is different from this machine with Store…" 错误:
INFO [o.n.c.c.t.TxPullRequestHandler] Failed to serve TxPullRequest for tx 29193 and storeId Store{creationTime:1591347647541, randomId:6812995525063259919, upgradeTime:1591347647541, upgradeId:1} because that storeId is different from this machine with Store {creationTime:1595941375808, randomId:-4448032294085490672, upgradeTime:1595941375808, upgradeId:1}
这意味着 storeId 不同。当 Neo4j 实例启动时,您会在 debug.log
中看到类似以下条目的一行:
INFO [o.n.c.c.s.LocalDatabase] Starting with storeId: Store {creationTime:1582039045717, randomId:4716225943436743213, upgradeTime:1582039045717, upgradeId:1}
Neo4j Causal Cluster 中的所有实例在 `debug.log` 中都会显示一个类似上述示例的 storeId (列为 randomId
) 条目。如果集群中任何成员的 storeId 不同,则会显示 "storeId is different from this machine" 错误。
如何从此不匹配中恢复?
-
确定具有最高
randomId
的 Neo4j 节点,这就是上面示例中显示的 storeId。 -
对上述节点进行在线备份。
-
停止具有较低
randomId
的实例。 -
执行
$bin/neo4j-admin unbind
。 -
在该实例上恢复备份。
-
启动 Neo4j。
如果您对此主题有疑问或遇到此错误,请随时向 Neo4j 支持部门提交工单。
此页面有帮助吗?