private boolean isRemote(Object key) { return distributionManager != null && !distributionManager.getCacheTopology().isWriteOwner(key); } }
private boolean isRemote(Object key) { return distributionManager != null && !distributionManager.getCacheTopology().isWriteOwner(key); }
public void testMagicKeys() { MagicKey k1 = new MagicKey(c1, c2); assert getCacheTopology(c1).isWriteOwner(k1); assert getCacheTopology(c2).isWriteOwner(k1); assert !getCacheTopology(c3).isWriteOwner(k1); assert !getCacheTopology(c4).isWriteOwner(k1); MagicKey k2 = new MagicKey(c2, c3); assert !getCacheTopology(c1).isWriteOwner(k2); assert getCacheTopology(c2).isWriteOwner(k2); assert getCacheTopology(c3).isWriteOwner(k2); assert !getCacheTopology(c4).isWriteOwner(k2); MagicKey k3 = new MagicKey(c3, c4); assert !getCacheTopology(c1).isWriteOwner(k3); assert !getCacheTopology(c2).isWriteOwner(k3); assert getCacheTopology(c3).isWriteOwner(k3); assert getCacheTopology(c4).isWriteOwner(k3); MagicKey k4 = new MagicKey(c4, c1); assert getCacheTopology(c1).isWriteOwner(k4); assert !getCacheTopology(c2).isWriteOwner(k4); assert !getCacheTopology(c3).isWriteOwner(k4); assert getCacheTopology(c4).isWriteOwner(k4); } }
public void testDistributionFromNonOwner() throws Exception { Object key = "testDistributionFromNonOwner"; doTestDistribution(key, cacheManagers.stream() .map(cm -> cm.<Object, Integer>getCache(DIST).getAdvancedCache()) .filter(cache -> !cache.getDistributionManager().getCacheTopology().isWriteOwner(key)) .findAny() .get()); }
protected static boolean isGroupOwner(Cache<?, ?> cache, String groupName) { return TestingUtil.extractComponent(cache, DistributionManager.class).getCacheTopology().isWriteOwner(groupName); }
private void iterate(Object key, ReadWriteMap<Object, Integer> rw, int expectedValue) throws Exception { List<AdvancedCache<Object, Object>> owners = cacheManagers .stream().map(cm -> cm.getCache(DIST).getAdvancedCache()) .filter(cache -> cache.getDistributionManager().getCacheTopology().isWriteOwner(key)) .collect(Collectors.toList());
public void testConditionalReplaceFromNonOwner() { initAndTest(); Cache<Object, String> nonOwner = getFirstNonOwner("k1"); boolean retval = nonOwner.replace("k1", "valueX", "value2"); if (testRetVals) assertFalse("Should not have replaced", retval); asyncWaitOnPrimary("k1", ReplaceCommand.class); assertOnAllCachesAndOwnership("k1", "value"); assertFalse(extractComponent(nonOwner, DistributionManager.class).getCacheTopology().isWriteOwner("k1")); retval = nonOwner.replace("k1", "value", "value2"); asyncWait("k1", cmd -> Stream.of(ReplaceCommand.class, PutKeyValueCommand.class) .anyMatch(clazz -> clazz.isInstance(cmd))); if (testRetVals) assertTrue("Should have replaced", retval); assertOnAllCachesAndOwnership("k1", "value2"); }