private void checkRehashed(DistributionManager dm, List<Cache<Object,Object>> caches, List<Address> addresses) { TestingUtil.waitForNoRebalance(caches); assertNull(dm.getCacheTopology().getPendingCH()); ConsistentHash ch = dm.getCacheTopology().getCurrentCH(); assertEquals(addresses, ch.getMembers()); for (int i = 0; i < ch.getNumSegments(); i++) { assertEquals(ch.getNumOwners(), ch.locateOwnersForSegment(i).size()); } } }
assertNull(dm0.getCacheTopology().getPendingCH()); assertNull(dm0.getCacheTopology().getPendingCH());
assertNull(dm0a.getCacheTopology().getPendingCH()); assertNull(dm0b.getCacheTopology().getPendingCH()); assertNull(dm0a.getCacheTopology().getPendingCH()); assertEquals(Arrays.asList(address(0), address(1)), dm0a.getCacheTopology().getCurrentCH().getMembers());
private Future<Void> simulateTopologyUpdate(Cache<Object, Object> cache) { StateTransferLock stl4 = TestingUtil.extractComponent(cache, StateTransferLock.class); DistributionManager dm4 = cache.getAdvancedCache().getDistributionManager(); LocalizedCacheTopology cacheTopology = dm4.getCacheTopology(); int newTopologyId = cacheTopology.getTopologyId() + 1; CacheTopology newTopology = new CacheTopology(newTopologyId, cacheTopology.getRebalanceId(), cacheTopology.getCurrentCH(), cacheTopology.getPendingCH(), cacheTopology.getUnionCH(), cacheTopology.getPhase(), cacheTopology.getActualMembers(), cacheTopology.getMembersPersistentUUIDs()); dm4.setCacheTopology(newTopology); return fork(() -> stl4.notifyTransactionDataReceived(newTopologyId)); } }
assertNull(dm0.getCacheTopology().getPendingCH()); assertNotNull(dm0.getCacheTopology().getPendingCH()); assertEquals(Arrays.asList(address(0), address(1), address(2)), dm0.getCacheTopology().getPendingCH().locateOwnersForSegment(0)); assertEquals(Arrays.asList(address(1), address(2), address(3), address(0)), dm0.getCacheTopology().getDistribution("k1").writeOwners());
assertNull(dm0.getCacheTopology().getPendingCH()); assertNull(dm0.getCacheTopology().getPendingCH()); assertEquals(Arrays.asList(address(0), address(1)), dm0.getCacheTopology().getCurrentCH().getMembers()); assertNull(dm0.getCacheTopology().getPendingCH()); assertEquals(RebalancingStatus.COMPLETE.toString(), stm0.getRebalancingStatus()); ConsistentHash ch = dm0.getCacheTopology().getCurrentCH(); assertNull(dm2.getCacheTopology().getPendingCH()); ch = dm2.getCacheTopology().getCurrentCH(); assertEquals(Arrays.asList(address(2), address(3)), ch.getMembers()); assertNull(dm2.getCacheTopology().getPendingCH()); ch = dm2.getCacheTopology().getCurrentCH(); assertEquals(Arrays.asList(address(2), address(3)), ch.getMembers());
assertNotNull(dm0.getCacheTopology().getPendingCH());