我使用一个服务器和一个客户机节点运行Ignite 2.1.0。我的客户机节点获取1个可用的信号量许可证,如下所示:
IgniteSemaphore semaphore = _ignite.semaphore(name, 1, true, true);
if(semaphore.tryAcquire())
...
}我弹出客户机节点,确认它离开了拓扑。在重新启动时,上面的tryAcquire()方法返回false。这不是我所期望的。我希望客户端节点重新获取许可证,该许可证是在客户端离开拓扑时释放的。服务器节点上没有正在运行的代码,这些代码一旦释放,就会尝试获取许可证
发布于 2017-09-26 02:11:21
看起来Ignite有个bug。您可以在此票证中观看讨论,以跟踪修复该问题的计划:https://issues.apache.org/jira/browse/IGNITE-4173
请注意,如果出现故障的节点不是拓扑中最后一个持有信号量实例的节点,那么它将按预期运行。
https://stackoverflow.com/questions/46349666
复制相似问题