# IGNITE-56 Enable GridCacheEntryMemorySizeSelfTest.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/75563740
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/75563740
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/75563740

Branch: refs/heads/sprint-1
Commit: 755637408f17cbfbac7f459d6146e8b4c42e5076
Parents: 7f6091b
Author: sevdokimov <sevdoki...@gridgain.com>
Authored: Wed Feb 11 13:11:47 2015 +0300
Committer: sevdokimov <sevdoki...@gridgain.com>
Committed: Wed Feb 11 13:14:46 2015 +0300

----------------------------------------------------------------------
 .../cache/GridCacheEntryMemorySizeSelfTest.java | 282 +++++++++----------
 1 file changed, 140 insertions(+), 142 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/75563740/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheEntryMemorySizeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheEntryMemorySizeSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheEntryMemorySizeSelfTest.java
index be397f8..c3f77bc 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheEntryMemorySizeSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheEntryMemorySizeSelfTest.java
@@ -30,8 +30,8 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.testframework.junits.common.*;
 
-import javax.cache.*;
 import java.io.*;
+import java.lang.reflect.*;
 import java.util.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
@@ -126,145 +126,151 @@ public class GridCacheEntryMemorySizeSelfTest extends 
GridCommonAbstractTest {
 
     /** @throws Exception If failed. */
     public void testLocal() throws Exception {
-        assert false : "ignite-96";
-//        mode = LOCAL;
-//
-//        try {
-//            GridCache<Integer, Value> cache = startGrid().cache(null);
-//
-//            assertTrue(cache.putx(1, new Value(new byte[1024])));
-//            assertTrue(cache.putx(2, new Value(new byte[2048])));
-//
-//            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
extrasSize(cache.entry(0)),
-//                cache.entry(0).memorySize());
-//            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
extrasSize(cache.entry(1)),
-//                cache.entry(1).memorySize());
-//            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
extrasSize(cache.entry(2)),
-//                cache.entry(2).memorySize());
-//        }
-//        finally {
-//            stopAllGrids();
-//        }
+        mode = LOCAL;
+
+        try {
+            IgniteCache<Integer, Value> cache = startGrid().jcache(null);
+
+            cache.put(1, new Value(new byte[1024]));
+            cache.put(2, new Value(new byte[2048]));
+
+            GridCacheAdapter<Integer, Value> internalCache = 
internalCache(cache);
+
+            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
extrasSize(internalCache.entryEx(0)),
+                internalCache.entryEx(0).memorySize());
+            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
extrasSize(internalCache.entryEx(1)),
+                internalCache.entryEx(1).memorySize());
+            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
extrasSize(internalCache.entryEx(2)),
+                internalCache.entryEx(2).memorySize());
+        }
+        finally {
+            stopAllGrids();
+        }
     }
 
     /** @throws Exception If failed. */
     public void testReplicated() throws Exception {
-        assert false : "ignite-96";
-
-//        mode = REPLICATED;
-//
-//        try {
-//            GridCache<Integer, Value> cache = startGrid().cache(null);
-//
-//            assertTrue(cache.putx(1, new Value(new byte[1024])));
-//            assertTrue(cache.putx(2, new Value(new byte[2048])));
-//
-//            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
REPLICATED_ENTRY_OVERHEAD +
-//                extrasSize(cache.entry(0)), cache.entry(0).memorySize());
-//            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
REPLICATED_ENTRY_OVERHEAD +
-//                extrasSize(cache.entry(1)), cache.entry(1).memorySize());
-//            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
REPLICATED_ENTRY_OVERHEAD +
-//                extrasSize(cache.entry(2)), cache.entry(2).memorySize());
-//        }
-//        finally {
-//            stopAllGrids();
-//        }
+        mode = REPLICATED;
+
+        try {
+            IgniteCache<Integer, Value> cache = startGrid().jcache(null);
+
+            cache.put(1, new Value(new byte[1024]));
+            cache.put(2, new Value(new byte[2048]));
+
+            GridCacheAdapter<Integer, Value> internalCache = dht(cache);
+
+            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
REPLICATED_ENTRY_OVERHEAD +
+                extrasSize(internalCache.entryEx(0)), 
internalCache.entryEx(0).memorySize());
+            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
REPLICATED_ENTRY_OVERHEAD +
+                extrasSize(internalCache.entryEx(1)), 
internalCache.entryEx(1).memorySize());
+            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
REPLICATED_ENTRY_OVERHEAD +
+                extrasSize(internalCache.entryEx(2)), 
internalCache.entryEx(2).memorySize());
+        }
+        finally {
+            stopAllGrids();
+        }
     }
 
     /** @throws Exception If failed. */
     public void testPartitionedNearEnabled() throws Exception {
-        assert false : "ignite-96";
-
-//        try {
-//            startGridsMultiThreaded(2);
-//
-//            int[] keys = new int[3];
-//
-//            int key = 0;
-//
-//            for (int i = 0; i < keys.length; i++) {
-//                while (true) {
-//                    key++;
-//
-//                    if (grid(0).mapKeyToNode(null, 
key).equals(grid(0).localNode())) {
-//                        if (i > 0)
-//                            jcache(0).put(key, new Value(new byte[i * 
1024]));
-//
-//                        keys[i] = key;
-//
-//                        break;
-//                    }
-//                }
-//            }
-//
-//            // Create near entries.
-//            assertNotNull(jcache(1).get(keys[1]));
-//            assertNotNull(jcache(1).get(keys[2]));
-//
-//            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
-//                extrasSize(cache(0).entry(keys[0])), 
cache(0).entry(keys[0]).memorySize());
-//            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD + READER_SIZE +
-//                extrasSize(cache(0).entry(keys[1])), 
cache(0).entry(keys[1]).memorySize());
-//            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD + READER_SIZE +
-//                extrasSize(cache(0).entry(keys[2])), 
cache(0).entry(keys[2]).memorySize());
-//
-//            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
NEAR_ENTRY_OVERHEAD +
-//                extrasSize(cache(1).entry(keys[0])), 
cache(1).entry(keys[0]).memorySize());
-//            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
NEAR_ENTRY_OVERHEAD +
-//                extrasSize(cache(1).entry(keys[1])), 
cache(1).entry(keys[1]).memorySize());
-//            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
NEAR_ENTRY_OVERHEAD +
-//                extrasSize(cache(1).entry(keys[2])), 
cache(1).entry(keys[2]).memorySize());
-//        }
-//        finally {
-//            stopAllGrids();
-//        }
+        mode = PARTITIONED;
+        nearEnabled = true;
+
+        try {
+            startGridsMultiThreaded(2);
+
+            int[] keys = new int[3];
+
+            int key = 0;
+
+            for (int i = 0; i < keys.length; i++) {
+                while (true) {
+                    key++;
+
+                    if (grid(0).mapKeyToNode(null, 
key).equals(grid(0).localNode())) {
+                        if (i > 0)
+                            jcache(0).put(key, new Value(new byte[i * 1024]));
+
+                        keys[i] = key;
+
+                        break;
+                    }
+                }
+            }
+
+            // Create near entries.
+            assertNotNull(jcache(1).get(keys[1]));
+            assertNotNull(jcache(1).get(keys[2]));
+
+            GridCacheAdapter<Object, Object> cache0 = dht(jcache(0));
+
+            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
+                extrasSize(cache0.entryEx(keys[0])), 
cache0.entryEx(keys[0]).memorySize());
+            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD + READER_SIZE +
+                extrasSize(cache0.entryEx(keys[1])), 
cache0.entryEx(keys[1]).memorySize());
+            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD + READER_SIZE +
+                extrasSize(cache0.entryEx(keys[2])), 
cache0.entryEx(keys[2]).memorySize());
+
+            GridCacheAdapter<Object, Object> cache1 = near(jcache(1));
+
+            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
NEAR_ENTRY_OVERHEAD +
+                extrasSize(cache1.entryEx(keys[0])), 
cache1.entryEx(keys[0]).memorySize());
+            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
NEAR_ENTRY_OVERHEAD +
+                extrasSize(cache1.entryEx(keys[1])), 
cache1.entryEx(keys[1]).memorySize());
+            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
NEAR_ENTRY_OVERHEAD +
+                extrasSize(cache1.entryEx(keys[2])), 
cache1.entryEx(keys[2]).memorySize());
+        }
+        finally {
+            stopAllGrids();
+        }
     }
 
     /** @throws Exception If failed. */
     public void testPartitionedNearDisabled() throws Exception {
-        assert false : "ignite-96";
-
-//        mode = PARTITIONED;
-//        nearEnabled = false;
-//
-//        try {
-//            startGridsMultiThreaded(2);
-//
-//            int[] keys = new int[3];
-//
-//            int key = 0;
-//
-//            for (int i = 0; i < keys.length; i++) {
-//                while (true) {
-//                    key++;
-//
-//                    if (grid(0).mapKeyToNode(null, 
key).equals(grid(0).localNode())) {
-//                        if (i > 0)
-//                            assertTrue(cache(0).putx(key, new Value(new 
byte[i * 1024])));
-//
-//                        keys[i] = key;
-//
-//                        break;
-//                    }
-//                }
-//            }
-//
-//            // Create near entries.
-//            assertNotNull(cache(1).get(keys[1]));
-//            assertNotNull(cache(1).get(keys[2]));
-//
-//            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
-//                extrasSize(cache(0).entry(keys[0])), 
cache(0).entry(keys[0]).memorySize());
-//            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
-//                extrasSize(cache(0).entry(keys[1])), 
cache(0).entry(keys[1]).memorySize());
-//            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
-//                extrasSize(cache(0).entry(keys[2])), 
cache(0).entry(keys[2]).memorySize());
-//
-//            // Do not test other node since there are no backups.
-//        }
-//        finally {
-//            stopAllGrids();
-//        }
+        mode = PARTITIONED;
+        nearEnabled = false;
+
+        try {
+            startGridsMultiThreaded(2);
+
+            int[] keys = new int[3];
+
+            int key = 0;
+
+            for (int i = 0; i < keys.length; i++) {
+                while (true) {
+                    key++;
+
+                    if (grid(0).mapKeyToNode(null, 
key).equals(grid(0).localNode())) {
+                        if (i > 0)
+                            jcache(0).put(key, new Value(new byte[i * 1024]));
+
+                        keys[i] = key;
+
+                        break;
+                    }
+                }
+            }
+
+            // Create near entries.
+            assertNotNull(jcache(1).get(keys[1]));
+            assertNotNull(jcache(1).get(keys[2]));
+
+            GridCacheAdapter<Object, Object> cache = dht(jcache(0));
+
+            assertEquals(KEY_SIZE + NULL_REF_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
+                extrasSize(cache.entryEx(keys[0])), 
cache.entryEx(keys[0]).memorySize());
+            assertEquals(KEY_SIZE + ONE_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
+                extrasSize(cache.entryEx(keys[1])), 
cache.entryEx(keys[1]).memorySize());
+            assertEquals(KEY_SIZE + TWO_KB_VAL_SIZE + ENTRY_OVERHEAD + 
DHT_ENTRY_OVERHEAD +
+                extrasSize(cache.entryEx(keys[2])), 
cache.entryEx(keys[2]).memorySize());
+
+            // Do not test other node since there are no backups.
+        }
+        finally {
+            stopAllGrids();
+        }
     }
 
     /**
@@ -274,20 +280,12 @@ public class GridCacheEntryMemorySizeSelfTest extends 
GridCommonAbstractTest {
      * @return Extras size.
      * @throws Exception If failed.
      */
-    private int extrasSize(Cache.Entry entry) throws Exception {
-        assert false : "ignite-96";
-
-        return -1;
-
-//        Method mthd = 
GridCacheMapEntry.class.getDeclaredMethod("extrasSize");
-//
-//        mthd.setAccessible(true);
-//
-//        GridCacheContext ctx = U.field(entry, "ctx");
-//
-//        GridCacheEntryEx entry0 = ((GridCacheEntryImpl)entry).entryEx(false, 
ctx.discovery().topologyVersion());
-//
-//        return (Integer)mthd.invoke(entry0);
+    private int extrasSize(GridCacheEntryEx<?, ?> entry) throws Exception {
+        Method mthd = GridCacheMapEntry.class.getDeclaredMethod("extrasSize");
+
+        mthd.setAccessible(true);
+
+        return (Integer)mthd.invoke(entry);
     }
 
     /** Value. */

Reply via email to