You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2016/05/04 16:02:05 UTC

[4/4] ignite git commit: IGNITE-2947: added the test that fails when IgniteConfiguration.classLoader behaves like an OSGI sweeping class loader. Setting "registered" flag to false for class descriptors of types passed through BinaryTypeConfiguration

IGNITE-2947: added the test that fails when IgniteConfiguration.classLoader behaves like an OSGI sweeping class loader. Setting "registered" flag to false for class descriptors of types passed through BinaryTypeConfiguration


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

Branch: refs/heads/ignite-2947
Commit: 56dbf3e264e84dbff17050d26a0266e87785e6e2
Parents: 7a219f5
Author: Denis Magda <dm...@gridgain.com>
Authored: Wed May 4 19:01:52 2016 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Wed May 4 19:01:52 2016 +0300

----------------------------------------------------------------------
 .../ignite/internal/binary/BinaryContext.java   |  2 +-
 ...acheBinaryObjectUserClassloaderSelfTest.java | 38 ++++++++++++++++++--
 .../testframework/junits/GridAbstractTest.java  |  3 +-
 3 files changed, 39 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/56dbf3e2/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
index 0a1ed11..d0faff3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
@@ -1039,7 +1039,7 @@ public class BinaryContext {
                 mapper,
                 serializer,
                 true,
-                true /* registered */
+                false
             );
 
             fieldsMeta = desc.fieldsMeta();

http://git-wip-us.apache.org/repos/asf/ignite/blob/56dbf3e2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectUserClassloaderSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectUserClassloaderSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectUserClassloaderSelfTest.java
index 6dc2d71..4355796 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectUserClassloaderSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectUserClassloaderSelfTest.java
@@ -51,6 +51,9 @@ public class GridCacheBinaryObjectUserClassloaderSelfTest extends GridCommonAbst
     private static volatile boolean deserialized = false;
 
     /** */
+    private static volatile boolean useWrappingLoader = false;
+
+    /** */
     private TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
 
     /** {@inheritDoc} */
@@ -74,7 +77,8 @@ public class GridCacheBinaryObjectUserClassloaderSelfTest extends GridCommonAbst
 
         cfg.setMarshaller(new BinaryMarshaller());
 
-        cfg.setClassLoader(getExternalClassLoader());
+        cfg.setClassLoader(useWrappingLoader ? new WrappingClassLoader(getExternalClassLoader()) :
+            getExternalClassLoader());
 
         if (customBinaryConf) {
             BinarySerializer bs = new BinarySerializer() {
@@ -132,10 +136,29 @@ public class GridCacheBinaryObjectUserClassloaderSelfTest extends GridCommonAbst
         return cacheCfg;
     }
 
+
     /**
      * @throws Exception If test failed.
      */
     public void testConfigurationRegistration() throws Exception {
+        useWrappingLoader = false;
+
+        doTestConfigurationRegistration();
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    public void testConfigurationRegistrationWithWrappingLoader() throws Exception {
+        useWrappingLoader = true;
+
+        doTestConfigurationRegistration();
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    private void doTestConfigurationRegistration() throws Exception {
         try {
             customBinaryConf = true;
 
@@ -145,7 +168,9 @@ public class GridCacheBinaryObjectUserClassloaderSelfTest extends GridCommonAbst
             IgniteCache<Integer, Object> cache1 = i1.cache(null);
             IgniteCache<Integer, Object> cache2 = i2.cache(null);
 
-            ClassLoader ldr = i1.configuration().getClassLoader();
+            ClassLoader ldr = useWrappingLoader ?
+                ((WrappingClassLoader)i1.configuration().getClassLoader()).getParent() :
+                i1.configuration().getClassLoader();
 
             Object v1 = ldr.loadClass("org.apache.ignite.tests.p2p.CacheDeploymentTestValue").newInstance();
             Object v2 = ldr.loadClass("org.apache.ignite.tests.p2p.CacheDeploymentTestValue2").newInstance();
@@ -237,4 +262,13 @@ public class GridCacheBinaryObjectUserClassloaderSelfTest extends GridCommonAbst
             return S.toString(TestValue2.class, this);
         }
     }
+
+    /**
+     *
+     */
+    private static class WrappingClassLoader extends ClassLoader {
+        public WrappingClassLoader(ClassLoader parent) {
+            super(parent);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/56dbf3e2/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 170e9cf..dc33dba 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -494,7 +494,8 @@ public abstract class GridAbstractTest extends TestCase {
      * @throws Exception If failed.
      */
     protected void afterTestsStopped() throws Exception {
-        // No-op.
+        // Will clean and re-create marshaller directory from scratch.
+        U.resolveWorkDirectory("marshaller", true);
     }
 
     /** {@inheritDoc} */