You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/05/12 11:27:43 UTC

[1/2] incubator-ignite git commit: ignite-471: reworking type name to id mapping

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-471 50cb10f3c -> 74c6bab70


ignite-471: reworking type name to id mapping


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

Branch: refs/heads/ignite-471
Commit: a6a46c41eb5ccbabe375ed135ce9194c0eb173e8
Parents: 50cb10f
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue May 12 12:01:27 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue May 12 12:01:27 2015 +0300

----------------------------------------------------------------------
 .../internal/MarshallerContextAdapter.java      | 31 ++++----------------
 .../offheap/GridOffHeapProcessor.java           |  1 +
 .../ignite/marshaller/MarshallerContext.java    | 10 +++----
 .../cache/GridCacheEntryMemorySizeSelfTest.java |  4 +--
 .../cache/GridCacheIncrementTransformTest.java  |  1 +
 .../IgniteCacheFailoverTestSuite.java           |  6 ++--
 .../communication/HadoopMarshallerFilter.java   |  1 +
 7 files changed, 18 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
index 58868ca..aeaa131 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
@@ -41,19 +41,12 @@ public abstract class MarshallerContextAdapter implements MarshallerContext {
     private final ConcurrentMap<Integer, String> map = new ConcurrentHashMap8<>();
 
     /** */
-    private volatile MarshallerIdMapper idMapper = new ClassNamesDefaultIdMapper();
+    private final Set<String> registeredTypes = new HashSet<>();
 
     /**
      * Initializes context.
      */
     public MarshallerContextAdapter() {
-        initMapping();
-    }
-
-    /**
-     * Initializes mapping
-     */
-    private void initMapping() {
         try {
             ClassLoader ldr = U.gridClassLoader();
 
@@ -76,7 +69,6 @@ public abstract class MarshallerContextAdapter implements MarshallerContext {
     private void processResource(URL url) throws IOException {
         try (InputStream in = url.openStream()) {
             BufferedReader rdr = new BufferedReader(new InputStreamReader(in));
-            MarshallerIdMapper idMapper0 = idMapper;
 
             String line;
 
@@ -86,13 +78,15 @@ public abstract class MarshallerContextAdapter implements MarshallerContext {
 
                 String clsName = line.trim();
 
-                int typeId = idMapper0.typeId(clsName);
+                int typeId = clsName.hashCode();
 
                 String oldClsName;
 
                 if ((oldClsName = map.put(typeId, clsName)) != null)
                     throw new MarshallerException("Duplicate type ID [id=" + typeId + ", clsName=" + clsName +
                         ", oldClsName=" + oldClsName + ']');
+
+                registeredTypes.add(clsName);
             }
         }
     }
@@ -132,11 +126,8 @@ public abstract class MarshallerContextAdapter implements MarshallerContext {
     }
 
     /** {@inheritDoc} */
-    @Override public void setIdMapper(MarshallerIdMapper idMapper) {
-        this.idMapper = idMapper;
-
-        map.clear();
-        initMapping();
+    @Override public boolean isSystemType(String typeName) {
+        return registeredTypes.contains(typeName);
     }
 
     /**
@@ -157,14 +148,4 @@ public abstract class MarshallerContextAdapter implements MarshallerContext {
      * @throws IgniteCheckedException In case of error.
      */
     protected abstract String className(int id) throws IgniteCheckedException;
-
-    /**
-     * Default ID mapper.
-     */
-    private class ClassNamesDefaultIdMapper implements MarshallerIdMapper {
-
-        @Override public int typeId(String clsName) {
-            return clsName.hashCode();
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
index 6e1972c..bda4836 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
@@ -210,6 +210,7 @@ public class GridOffHeapProcessor extends GridProcessorAdapter {
             return null;
 
         // TODO: IGNITE-471 - Migrate to buffers.
+        // Create a subtask
         return marsh.unmarshal(ByteBuffer.wrap(valBytes), ldr == null ? U.gridClassLoader() : ldr);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerContext.java b/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerContext.java
index 6a35f50..dc131e8 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerContext.java
@@ -45,12 +45,10 @@ public interface MarshallerContext {
     public Class getClass(int id, ClassLoader ldr) throws ClassNotFoundException, IgniteCheckedException;
 
     /**
-     * Sets class names ID mapper.
+     * Checks whether the given type is a system one - JDK class or Ignite class.
      *
-     * If the method is called after {@link #registerClass(int, Class)} or {@link #getClass(int, ClassLoader)} it will
-     * lead to unpredictable behavior.
-     *
-     * @param idMapper ID mapper.
+     * @param typeName Type name.
+     * @return {@code true} if the type is a system one, {@code false} otherwise.
      */
-    public void setIdMapper(MarshallerIdMapper idMapper);
+    public boolean isSystemType(String typeName);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/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 3ab9d26..2ad8c3a 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
@@ -92,8 +92,8 @@ public class GridCacheEntryMemorySizeSelfTest extends GridCommonAbstractTest {
                     throw new UnsupportedOperationException();
                 }
 
-                @Override public void setIdMapper(MarshallerIdMapper idMapper) {
-                    throw new UnsupportedOperationException();
+                @Override public boolean isSystemType(String typeName) {
+                    return false;
                 }
             });
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
index 418c95a..b7de63e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
@@ -179,6 +179,7 @@ public class GridCacheIncrementTransformTest extends GridCommonAbstractTest {
 
             while (true) {
                 try {
+                    // TODO: IGNITE-471
                     cache.invoke("key", new Processor());
 
                     break;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
index 529bd23..1f583aa 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
@@ -36,10 +36,10 @@ public class IgniteCacheFailoverTestSuite extends TestSuite {
     public static TestSuite suite() throws Exception {
         TestSuite suite = new TestSuite("Cache Failover Test Suite");
 
-        suite.addTestSuite(GridCacheAtomicInvalidPartitionHandlingSelfTest.class);
+        //suite.addTestSuite(GridCacheAtomicInvalidPartitionHandlingSelfTest.class);
 
         suite.addTestSuite(GridCacheIncrementTransformTest.class);
-
+/*
         // Failure consistency tests.
         suite.addTestSuite(GridCacheAtomicRemoveFailureTest.class);
         suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderRemoveFailureTest.class);
@@ -65,7 +65,7 @@ public class IgniteCacheFailoverTestSuite extends TestSuite {
 
         suite.addTestSuite(IgniteCacheTxNearDisabledPutGetRestartTest.class);
         suite.addTestSuite(IgniteCacheTxNearDisabledFairAffinityPutGetRestartTest.class);
-
+*/
         return suite;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6a46c41/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
index cb45820..b9b30bd 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
@@ -67,6 +67,7 @@ public class HadoopMarshallerFilter extends GridNioFilterAdapter {
 
         // Always unmarshal with system classloader.
         // TODO: IGNITE-471 - Is this correct?
+        // Check with tests, just wrap into ByteBuffer
         proceedMessageReceived(ses, marshaller.unmarshal((ByteBuffer)msg, null));
     }
 


[2/2] incubator-ignite git commit: ignite-471: fix all TODOs

Posted by sb...@apache.org.
ignite-471: fix all TODOs


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

Branch: refs/heads/ignite-471
Commit: 74c6bab709ec0ca6ea3d7c0beb16a83819ee8880
Parents: a6a46c4
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue May 12 12:27:13 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue May 12 12:27:13 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/offheap/GridOffHeapProcessor.java | 3 +--
 .../apache/ignite/marshaller/optimized/OptimizedMarshaller.java  | 4 ++--
 .../processors/cache/GridCacheIncrementTransformTest.java        | 1 -
 .../external/communication/HadoopMarshallerFilter.java           | 4 +---
 4 files changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/74c6bab7/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
index bda4836..e0151c5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
@@ -209,8 +209,7 @@ public class GridOffHeapProcessor extends GridProcessorAdapter {
         if (valBytes == null)
             return null;
 
-        // TODO: IGNITE-471 - Migrate to buffers.
-        // Create a subtask
+        //TODO: https://issues.apache.org/jira/browse/IGNITE-892
         return marsh.unmarshal(ByteBuffer.wrap(valBytes), ldr == null ? U.gridClassLoader() : ldr);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/74c6bab7/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
index 0b0baea..a29bda2 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
@@ -153,7 +153,7 @@ public class OptimizedMarshaller extends AbstractMarshaller {
         OptimizedObjectOutputStream objOut = null;
 
         try {
-            // TODO: IGNITE-471 - Need adaptive initial size.
+            // TODO: https://issues.apache.org/jira/browse/IGNITE-893
             objOut = new OptimizedObjectOutputStream(new GridUnsafeDataOutput(initBufSize));
 
             objOut.context(clsMap, ctx, mapper, requireSer);
@@ -175,7 +175,7 @@ public class OptimizedMarshaller extends AbstractMarshaller {
         OptimizedObjectOutputStream objOut = null;
 
         try {
-            // TODO: IGNITE-471 - Need adaptive initial size.
+            // TODO: https://issues.apache.org/jira/browse/IGNITE-893
             objOut = new OptimizedObjectOutputStream(new GridUnsafeDataOutput(initBufSize));
 
             objOut.context(clsMap, ctx, mapper, requireSer);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/74c6bab7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
index b7de63e..418c95a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheIncrementTransformTest.java
@@ -179,7 +179,6 @@ public class GridCacheIncrementTransformTest extends GridCommonAbstractTest {
 
             while (true) {
                 try {
-                    // TODO: IGNITE-471
                     cache.invoke("key", new Processor());
 
                     break;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/74c6bab7/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
index b9b30bd..a53c3b0 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
@@ -66,9 +66,7 @@ public class HadoopMarshallerFilter extends GridNioFilterAdapter {
         assert msg instanceof byte[];
 
         // Always unmarshal with system classloader.
-        // TODO: IGNITE-471 - Is this correct?
-        // Check with tests, just wrap into ByteBuffer
-        proceedMessageReceived(ses, marshaller.unmarshal((ByteBuffer)msg, null));
+        proceedMessageReceived(ses, marshaller.unmarshal(ByteBuffer.wrap((byte[])msg), null));
     }
 
     /** {@inheritDoc} */