0
votes

We have a cluster of 2 nodes A & B.

If we block the execution of a thread on Node A (I did it by remotely connecting to my VM and put a breakpoint), then node B thinks that node A is segmented(which is expected behavior).

After performing above scenario, any cache lookup on Node A get stuck and we never gets the result back from IgniteCache.

I have put together a test application to reproduce this issue. It's little tricky to reproduce this problem but I have tried best to provide instruction in README.md

If you are still not clear on how to reproduce it then I can provide a Video recording.

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

1

1 Answers

0
votes

This happens because you set IgniteConfiguration.setSegmentationPolicy to NOOP. This means that nothing happens when the node is segmented and actually this policy assumes that you will create a listener for EVT_NODE_SEGMENTED event and provide your own handling. If you don't do this, it's better to set it to STOP (default value) so that the node is stopped immediately after segmentation. This will release all the threads.