“storeId is different from this machine” 错误解释
如果您在 $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 因果集群中的所有实例都会在 `debug.log` 中显示一个 storeId(以 randomId 列出)的条目,形式类似上文所示。如果集群中任何成员的 storeId 不一致,就会出现 “storeId 与此机器不同” 的错误。
如何恢复此不匹配?
-
找出拥有最高
randomId的 Neo4j 节点——这就是上面示例中显示的 storeId -
对该节点进行在线备份
-
停止
randomId较低的实例(们) -
执行
$bin/neo4j-admin unbind -
在该实例(们)上恢复备份
-
启动 Neo4j
如果您对该主题有疑问或遇到此错误,欢迎向 Neo4j 支持提交工单。
此页面有帮助吗?