Neo4j集群 - " UnableToSampleException"当neo4j节点启动时,那是崩溃前的主人

时间:2014-11-13 12:29:32

标签: neo4j

我有3个neo4j数据库的集群。 Node1 - 主人。 Node2 - 从属。 Node3 - slave。

由于某种原因,Node1崩溃了。短时间后集群检测到并选出新的主服务器。 那么,现在我们有: Node1 - ? Node2 - 主人 Node3 - slave

当我启动Node1时,它:

  • 加入群组
  • 然后从master(商店,而不是日志文件)获取新的数据库版本
  • 然后它停留在org.neo4j.server.rrd.UnableToSampleException错误。

堆栈跟踪:

org.neo4j.server.rrd.UnableToSampleException
    at org.neo4j.server.rrd.sampler.NodeIdsInUseSampleable.getValue(NodeIdsInUseSampleable.java:47)
    at org.neo4j.server.rrd.RrdSamplerImpl.updateSample(RrdSamplerImpl.java:59)
    at org.neo4j.server.rrd.RrdJob.run(RrdJob.java:43)
    at org.neo4j.server.rrd.ScheduledJob$1.run(ScheduledJob.java:41)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

日志:

2014-11-13 12:11:50.147+0000 INFO  [Cluster] Checking store consistency with master
2014-11-13 12:11:50.853+0000 INFO  [Cluster] The store is inconsistent. Will treat it as branched and fetch a new one from the master
2014-11-13 12:11:52.030+0000 INFO  [Cluster] Copying store from master
... copying store
... copying schema
... copying logs
2014-11-13 12:13:57.768+0000 INFO  [API] Server started on: http://0.0.0.0:7474/
// it starts server, while logs download is in progress
... org.neo4j.server.rrd.UnableToSampleException error loop

  • 有时错误循环会在一段时间(10-15分钟)后停止并且服务器正常启动。
  • 如果我再次重新启动neo4j,一切正常。

任何想法,这可能是什么?

1 个答案:

答案 0 :(得分:0)

未记录根异常。您必须调试NodeIdsInUseSampleable类。在我的情况下,我得到以下例外:

java.lang.IllegalStateException: XaDataSourceManager has been shut down.
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.getXaDataSource(XaDataSourceManager.java:211)
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.getNeoStoreDataSource(XaDataSourceManager.java:225)
    at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource.getNumberOfIdsInUse(NioNeoDbPersistenceSource.java:72)
    at org.neo4j.kernel.impl.core.NodeManager.getNumberOfIdsInUse(NodeManager.java:689)
    at org.neo4j.server.rrd.sampler.NodeIdsInUseSampleable.getValue(NodeIdsInUseSampleable.java:43)
    at org.neo4j.server.rrd.RrdSamplerImpl.updateSample(RrdSamplerImpl.java:59)
    at org.neo4j.server.rrd.RrdJob.run(RrdJob.java:43)
    at org.neo4j.server.rrd.ScheduledJob$1.run(ScheduledJob.java:41)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

在我的情况下,自从调用shutdown以来发生了异常。我认为这对你来说可能是一样的。您只需确定谁正在调用shutdown。