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} */