我有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