Details
-
Bug
-
Resolution: Done
-
Major
-
7.0.0.Alpha4
Description
testStateTransferInBetweenPrepareCommitWithPutCreate sometimes fails because the state transfer doesn't finish in time:
java.lang.RuntimeException: Timed out waiting for rebalancing to complete on node NodeBN-23267, current topology is CacheTopology{id=6, currentCH=DefaultConsistentHash{numSegments=60, numOwners=2, members=[NodeBM-52725, NodeBN-23267]}, pendingCH=DefaultConsistentHash{numSegments=60, numOwners=2, members=[NodeBM-52725, NodeBN-23267]}, unionCH=DefaultConsistentHash{numSegments=60, numOwners=2, members=[NodeBM-52725, NodeBN-23267]}} at org.infinispan.test.TestingUtil.waitForRehashToComplete(TestingUtil.java:214) at org.infinispan.distribution.rehash.BaseTxStateTransferOverwriteTest.doStateTransferInBetweenPrepareCommit(BaseTxStateTransferOverwriteTest.java:265) at org.infinispan.distribution.rehash.BaseTxStateTransferOverwriteTest.testStateTransferInBetweenPrepareCommitWithPutCreate(BaseTxStateTransferOverwriteTest.java:94)
The problem seems to be that the test intends to block the PUT_CREATE command on the primary owner of the test key, but it sometimes also blocks the state transfer put for the placeholder key - depending on which node was the backup owner of the placeholder key.
The purpose of the placeholder key is also not very clear, we should add a comment how we expect the presence of another entry to interact with the tx / operation in progress.