Apache Ignite:服务器停顿时使用单例服务“无法重新分配服务”

时间:2018-11-16 15:22:09

标签: java ignite

我有Ignite集群,上面有2个服务器节点,并且已部署了Singleton服务。

如果我先停止当前正在运行服务的节点,然后(有特定的延迟,大约100毫秒)第二个节点,我会得到

ERROR o.a.i.i.p.s.GridServiceProcessor - Failed to do service reassignment (will retry): statService
org.apache.ignite.internal.IgniteInterruptedCheckedException: Got interrupted while waiting for future to complete.
    at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:185)
    at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:140)
    at org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1810)
    at org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:2027)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

我猜,第二台服务器看到另一台服务器已关闭,因此它想启动服务。然后,不幸的是,此服务器停止运行,并且ExecutorService depExe处的GridServiceProcessor被中断,因此发生了异常。但是Ignite知道它是否会停止,因此我确定Ignite可能会遇到中断或以某种方式进行处理。

那我怎么避免这个错误?

点燃版本:2.5.2

1 个答案:

答案 0 :(得分:0)

您有2个节点,并且都停止了这两个节点?在这种情况下,您期望什么行为?

此异常是无害的。我认为,它值得DEBUG日志级别。 随时提交JIRA票证并进行修复。