You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/09/21 14:53:58 UTC

[66/92] [abbrv] ignite git commit: Fixed processor class name.

Fixed processor class name.


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

Branch: refs/heads/ignite-3949
Commit: 39095f6dd1e5bd866c174e405a0e778eaae53ae3
Parents: 4156c68
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Sep 21 16:47:46 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Sep 21 16:47:46 2016 +0300

----------------------------------------------------------------------
 .../testsuites/IgniteHadoopTestSuite2.java      | 116 +++++++++++++++++++
 1 file changed, 116 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/39095f6d/modules/hadoop-impl/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/hadoop-impl/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite2.java b/modules/hadoop-impl/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite2.java
new file mode 100644
index 0000000..1a32cba
--- /dev/null
+++ b/modules/hadoop-impl/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite2.java
@@ -0,0 +1,116 @@
+package org.apache.ignite.testsuites;
+
+import junit.framework.TestSuite;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.internal.processors.hadoop.impl.client.HadoopClientProtocolSelfTest;
+import org.apache.ignite.internal.util.typedef.F;
+
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Separate class loader for better class handling.
+ */
+// TODO: Remove or adopt.
+public class IgniteHadoopTestSuite2 extends TestSuite {
+    /**
+     * @return Test suite.
+     * @throws Exception Thrown in case of the failure.
+     */
+    public static TestSuite suite() throws Exception {
+        final ClassLoader ldr = new TestClassLoader();
+
+        TestSuite suite = new TestSuite("Ignite Hadoop MR Test Suite");
+
+        suite.addTest(new TestSuite(ldr.loadClass(HadoopClientProtocolSelfTest.class.getName())));
+
+        return suite;
+    }
+
+    /**
+     * Class loader for tests.
+     */
+    private static class TestClassLoader extends URLClassLoader {
+        /** Parent class loader. */
+        private static final URLClassLoader APP_CLS_LDR = (URLClassLoader)TestClassLoader.class.getClassLoader();
+
+        /** */
+        private static final Collection<URL> APP_JARS = F.asList(APP_CLS_LDR.getURLs());
+
+        /** All participating URLs. */
+        private static final URL[] URLS;
+
+        static {
+            try {
+                List<URL> allJars = new ArrayList<>();
+
+                allJars.addAll(APP_JARS);
+
+                // TODO: Remove
+                //allJars.addAll(HadoopClasspathUtils.classpathForClassLoader());
+
+                List<URL> res = new ArrayList<>();
+
+                for (URL url : allJars) {
+                    String urlStr = url.toString();
+
+                    if (urlStr.contains("modules/hadoop/") ||
+                        urlStr.contains("modules/hadoop-impl/") ||
+                        urlStr.contains("org/apache/hadoop")) {
+                        res.add(url);
+
+                        System.out.println(url.toString());
+                    }
+                }
+
+                URLS = res.toArray(new URL[res.size()]);
+            }
+            catch (Exception e) {
+                throw new IgniteException("Failed to initialize classloader JARs.", e);
+            }
+        }
+
+        /**
+         * Constructor.
+         *
+         * @throws Exception If failed.
+         */
+        public TestClassLoader() throws Exception {
+            super(URLS, APP_CLS_LDR);
+        }
+
+        /** {@inheritDoc} */
+        @Override protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
+            try {
+                synchronized (getClassLoadingLock(name)) {
+                    // First, check if the class has already been loaded
+                    Class c = findLoadedClass(name);
+
+                    if (c == null) {
+                        long t1 = System.nanoTime();
+
+                        c = findClass(name);
+
+                        // this is the defining class loader; record the stats
+                        sun.misc.PerfCounter.getFindClassTime().addElapsedTimeFrom(t1);
+                        sun.misc.PerfCounter.getFindClasses().increment();
+                    }
+
+                    if (resolve)
+                        resolveClass(c);
+
+                    return c;
+                }
+            }
+            catch (NoClassDefFoundError | ClassNotFoundException e) {
+                // TODO: Remove
+                //System.out.println("Not founded, delegated: " + name);
+            }
+
+            return super.loadClass(name, resolve);
+        }
+    }
+}