public void testBasicDistribution() throws Throwable { for (Cache<Object, String> c : caches) assertTrue(c.isEmpty()); final Object k1 = getKeyForCache(caches.get(1)); getOwners(k1)[0].put(k1, "value"); // No non-owners have requested the key, so no invalidations asyncWait(k1, PutKeyValueCommand.class); // should be available everywhere! assertOnAllCachesAndOwnership(k1, "value"); // and should now be in L1 if (l1CacheEnabled) { for (Cache<Object, String> c : caches) { if (isOwner(c, k1)) { assertIsInContainerImmortal(c, k1); } else { assertIsInL1(c, k1); } } } }