【问题标题】:Apache Ignite - Thread gets blocked foreverApache Ignite - 线程被永远阻塞
【发布时间】:2016-09-24 08:55:08
【问题描述】:

我们有一个由 2 个节点 A 和 B 组成的集群。

如果我们阻止节点 A 上线程的执行(我通过远程连接到我的 VM 并放置断点来做到这一点),那么节点 B 认为节点 A 已分段(这是预期行为)。

执行上述场景后,节点 A 上的任何缓存查找都会卡住,我们永远无法从 IgniteCache 中取回结果。

我已经整理了一个测试应用程序来重现此问题。重现这个问题有点棘手,但我已尽力在 README.md 中提供说明

如果您仍然不清楚如何重现它,那么我可以提供视频录制。

https://github.com/manish-panwar/ignite-thread-block-issue

【问题讨论】:

    标签: gridgain ignite


    【解决方案1】:

    发生这种情况是因为您将 IgniteConfiguration.setSegmentationPolicy 设置为 NOOP。这意味着当节点被分段时不会发生任何事情,实际上此策略假定您将为EVT_NODE_SEGMENTED 事件创建一个侦听器并提供您自己的处理。如果不这样做,最好将其设置为STOP(默认值),以便在分割后立即停止节点。这将释放所有线程。

    【讨论】:

    猜你喜欢
    • 2022-11-22
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2019-12-08
    相关资源
    最近更新 更多