Index: modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java (revision 3a8c19ed14d92bfda161ddf2d5a783ad34ace665) +++ modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java (revision ) @@ -17,11 +17,7 @@ package org.apache.ignite.internal.processors.cache; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.locks.Lock; import javax.cache.Cache; import javax.cache.processor.EntryProcessor; @@ -31,6 +27,8 @@ import org.apache.ignite.cache.CachePeekMode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.NearCacheConfiguration; +import org.apache.ignite.internal.util.lang.*; +import org.apache.ignite.internal.visor.cache.*; import org.apache.ignite.lang.IgnitePredicate; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; @@ -120,7 +118,7 @@ assertNotNull("Unexpected value: " + val, val); - assertEquals((Integer) 1, val); + assertEquals((Integer)1, val); e.setValue(val + 1); @@ -179,6 +177,19 @@ /** * @throws Exception If failed. */ + public void testPutRemoveClear() throws Exception { + IgniteCache c = grid(0).cache(null); + + checkPutRemoveClear(primaryKey(c)); + + checkPutRemoveClear(backupKey(c)); + + checkPutRemoveClear(nearKey(c)); + } + + /** + * @throws Exception If failed. + */ public void testPutGetRemoveByteArray() throws Exception { IgniteCache c = grid(0).cache(null); @@ -211,6 +222,41 @@ checkPutGetRemoveTx(key, OPTIMISTIC); } + } + + /** + * @param key Key. + * @throws Exception If failed. + */ + private void checkPutRemoveClear(Integer key) throws Exception { + IgniteCache c = grid(0).cache(null); + + Random rnd = new Random(); + + final int ENTRIES_CNT = 10000; + + for (int i = 0; i < ENTRIES_CNT; i ++) + c.put(i, i); + + for (int i = 0; i < ENTRIES_CNT / 2; i ++) + c.remove(rnd.nextInt(ENTRIES_CNT)); + + c.clear(); + + VisorCache vc = new VisorCache().from(grid(0), null, 10); + + long keyCount = 0; + + for (IgnitePair p : vc.primaryPartitions()) + keyCount += p.get2(); + + long backupKeyCount = 0; + + for (IgnitePair p : vc.backupPartitions()) + backupKeyCount += p.get2(); + + assertTrue(keyCount == 0); + assertTrue(backupKeyCount == 0); } /** @@ -672,4 +718,4 @@ '}'; } } -} \ No newline at end of file +}