Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.6
-
None
-
None
Description
This case fires very rarely in TcpDiscoveryRestartTest.testRestart. Caches with SYNC rebalance mode are affected (system internal cache uses such mode). When starting instance is trying to preload partitions for such cache from another instance which stops around the same time, first instance could hang infinitely. When SYNC rebalance mode is enabled starting instance awaits on preload future in start routine. In another thread it starts fetching partitions and receives an error from stopping instance and cancels rebalance future but preload future is not cancelled.
It is a bit tricky to reproduce case fairly. It is possible to reproduce the case using attached reproducer with adding some delay to GridDhtPartitionDemander.RebalanceFuture#checkIsDone(boolean) method.