У меня есть кластер Ignite с 2 развернутыми узлами сервера и одноэлементной службой.
Если я сначала остановлю узел, который в данный момент запускает службу, а затем (с определенной задержкой, около ~ 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 может ожидать прерывания или каким-то образом позаботиться о нем.
Так как же избежать этой ошибки?
Версия Ignite: 2.50,2