突然出现“Hazelcast instance is not active!”

19

我的应用运行了几个月,一直很好地工作。然后突然出现以下错误:

com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not active!
    at com.hazelcast.spi.impl.ProxyServiceImpl$ProxyRegistry.<init>(ProxyServiceImpl.java:220)
    at com.hazelcast.spi.impl.ProxyServiceImpl$ProxyRegistry.<init>(ProxyServiceImpl.java:207)
    at com.hazelcast.spi.impl.ProxyServiceImpl$1.createNew(ProxyServiceImpl.java:69)
    at com.hazelcast.spi.impl.ProxyServiceImpl$1.createNew(ProxyServiceImpl.java:67)
    at com.hazelcast.util.ConcurrencyUtil.getOrPutIfAbsent(ConcurrencyUtil.java:47)
    at com.hazelcast.spi.impl.ProxyServiceImpl.getDistributedObject(ProxyServiceImpl.java:101)
    at com.hazelcast.instance.HazelcastInstanceImpl.getDistributedObject(HazelcastInstanceImpl.java:285)
    at com.hazelcast.instance.HazelcastInstanceImpl.getLock(HazelcastInstanceImpl.java:183)
    at com.hazelcast.instance.HazelcastInstanceProxy.getLock(HazelcastInstanceProxy.java:77)
    at br.com.xyz.lock.hazelcast.HazelcastLockManager.lock(HazelcastLockManager.java:37)
    at br.com.xyz.lock.hazelcast.LockManagerFacade.lock(LockManagerFacade.java:24)
    at br.com.xyz.recebe.negocio.NProcessadorMensagemRecebida.processamentoLock(NProcessadorMensagemRecebida.java:85)
    at br.com.xyz.recebe.negocio.NProcessadorMensagemRecebida.processaArquivo(NProcessadorMensagemRecebida.java:74)
    at br.com.xyz.recebe.processador.ProcessadorBase.processaArquivo(ProcessadorBase.java:75)
    at br.com.xyz.recebe.processador.ProcessadorXml.processaArquivo(ProcessadorXml.java:16)
    at br.com.xyz.recebe.processador.ProcessadorFacade.processaArquivo(ProcessadorFacade.java:34)
    at br.com.xyz.recebe.mail.pdes.ProcessadorPDESMeRecebida.processar(ProcessadorPDESMeRecebida.java:77)
    at gov.sefaz.util.pdes.ProcessadorDiretorioEntradaSaidaDaemon.processar(ProcessadorDiretorioEntradaSaidaDaemon.java:575)
    at gov.sefaz.util.pdes.ProcessadorDiretorioEntradaSaidaDaemon.varrerDiretorioUsingStrategy(ProcessadorDiretorioEntradaSaidaDaemon.java:526)
    at gov.sefaz.util.pdes.ProcessadorDiretorioEntradaSaidaDaemon.run(ProcessadorDiretorioEntradaSaidaDaemon.java:458)
    at java.lang.Thread.run(Unknown Source)

我在 Google 上发现一些问题,称它因为其他错误而关闭。但在我的情况下并没有这种情况。

它没有任何原因地关闭了。

有人以前见过这种情况吗?


你确定 Hazelcast-server 正在运行吗? - DmitryKanunnikoff
1
如果测试正常,那么问题可能出在你的Hazelcast客户端上...也许它因为OutOfMemory或其他问题而关闭了。 - DmitryKanunnikoff
它已经运行了很长时间。实例已启动,节点正在运行。但我不知道为什么它会关闭。我的日志中出现了其他错误,但没有异常情况。 - leocborges
我认为在源代码中,您可以跟踪异常抛出的位置。基于这一点,您可以逐渐尝试理解问题的原因。可能是客户端的问题。您不会相信,但我们刚刚收到了来自生产领域负责人的完全相同错误的消息!) - DmitryKanunnikoff
显示剩余5条评论
2个回答

8
如果一个hazelcast成员没有正常关闭(终止),问题就会发生。当您停止与队列代理绑定的HazelcastInstance时,然后在实例停止之后对该队列执行任何操作应该抛出HazelcastInstanceNotActiveException异常。

但我不明白为什么它会以那种方式关闭。我确定不是因为内存不足,因为我的日志没有显示。 - leocborges
我目前使用的是3.1.5版本。我认为这个问题在3版本之后得到了解决。你知道如何从这个错误中恢复吗? - leocborges
你是对的!这只会发生在应用程序结束时。到目前为止还不是问题。 - leocborges

0

您只需要等待几分钟,然后重新运行您的作业。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接