This is an automated email from the ASF dual-hosted git repository. ipavlukhin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push: new 8977f0f IGNITE-11908 Fix hanging IgnitePdsCacheWalDisabledOnRebalancingTest.testRebalancedPartitionsOwningWithConcurrentAffinityChange in case of assertion failure - Fixes #6602. 8977f0f is described below commit 8977f0f587075d8befccbac38e7b13d87f719cfa Author: ipavlukhin <vololo...@gmail.com> AuthorDate: Sat Jun 15 19:23:23 2019 +0300 IGNITE-11908 Fix hanging IgnitePdsCacheWalDisabledOnRebalancingTest.testRebalancedPartitionsOwningWithConcurrentAffinityChange in case of assertion failure - Fixes #6602. Signed-off-by: ipavlukhin <vololo...@gmail.com> --- ...IgnitePdsCacheWalDisabledOnRebalancingTest.java | 33 +++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsCacheWalDisabledOnRebalancingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsCacheWalDisabledOnRebalancingTest.java index 6661f3b..b83becf 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsCacheWalDisabledOnRebalancingTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsCacheWalDisabledOnRebalancingTest.java @@ -308,30 +308,37 @@ public class IgnitePdsCacheWalDisabledOnRebalancingTest extends GridCommonAbstra return false; }; + IgniteEx ig1; + CacheGroupMetricsMXBean mxBean; + int locMovingPartsNum; + // Enable blocking checkpointer on node idx=1 (see BlockingCheckpointFileIOFactory). fileIoBlockingSemaphore.drainPermits(); + try { + ig1 = startGrid(1); - IgniteEx ig1 = startGrid(1); - - CacheGroupMetricsMXBean mxBean = ig1.cachex(CACHE3_NAME).context().group().mxBean(); - int locMovingPartsNum = mxBean.getLocalNodeMovingPartitionsCount(); + mxBean = ig1.cachex(CACHE3_NAME).context().group().mxBean(); + locMovingPartsNum = mxBean.getLocalNodeMovingPartitionsCount(); - // Partitions remain in MOVING state even after PME and rebalancing when checkpointer is blocked. - assertTrue("Expected non-zero value for local moving partitions count on node idx = 1: " + - locMovingPartsNum, 0 < locMovingPartsNum && locMovingPartsNum < CACHE3_PARTS_NUM); + // Partitions remain in MOVING state even after PME and rebalancing when checkpointer is blocked. + assertTrue("Expected non-zero value for local moving partitions count on node idx = 1: " + + locMovingPartsNum, 0 < locMovingPartsNum && locMovingPartsNum < CACHE3_PARTS_NUM); - blockRebalanceEnabled.set(true); + blockRebalanceEnabled.set(true); - // Change baseline topology and release checkpointer to verify - // that no partitions will be owned after affinity change. - ig0.cluster().setBaselineTopology(ig1.context().discovery().topologyVersion()); - fileIoBlockingSemaphore.release(Integer.MAX_VALUE); + // Change baseline topology and release checkpointer to verify + // that no partitions will be owned after affinity change. + ig0.cluster().setBaselineTopology(ig1.context().discovery().topologyVersion()); + } + finally { + fileIoBlockingSemaphore.release(Integer.MAX_VALUE); + } locMovingPartsNum = mxBean.getLocalNodeMovingPartitionsCount(); assertTrue("Expected moving partitions count on node idx = 1 equals to all partitions of the cache " + CACHE3_NAME + ": " + locMovingPartsNum, locMovingPartsNum == CACHE3_PARTS_NUM); - TestRecordingCommunicationSpi commSpi = (TestRecordingCommunicationSpi) ig1 + TestRecordingCommunicationSpi commSpi = (TestRecordingCommunicationSpi)ig1 .configuration().getCommunicationSpi(); // When we stop blocking demand message rebalancing should complete and all partitions should be owned.