/** * Create class loader with the given name. * * @param name Name. * @return Class loader. */ private HadoopClassLoader createClassLoader(String name) { return new HadoopClassLoader(rsrcMgr.classPath(), name, libNames, helper); } }
/** {@inheritDoc} */ @Override public HadoopClassLoader commonClassLoader() { HadoopClassLoader res = ldr; if (res == null) { synchronized (this) { res = ldr; if (res == null) { String[] libNames = null; if (ctx != null && ctx.config().getHadoopConfiguration() != null) libNames = ctx.config().getHadoopConfiguration().getNativeLibraryNames(); res = new HadoopClassLoader(null, "hadoop-common", libNames, this); ldr = res; } } } return res; }
/** * Checks Snappy codec usage. * * @throws Exception On error. */ @Ignore("https://issues.apache.org/jira/browse/IGNITE-9920") @Test public void testSnappy() throws Throwable { // Run Snappy test in default class loader: checkSnappy(); // Run the same in several more class loaders simulating jobs and tasks: for (int i = 0; i < 2; i++) { ClassLoader hadoopClsLdr = new HadoopClassLoader(null, "cl-" + i, null, new HadoopHelperImpl()); Class<?> cls = (Class)Class.forName(HadoopSnappyTest.class.getName(), true, hadoopClsLdr); assertEquals(hadoopClsLdr, cls.getClassLoader()); U.invoke(cls, null, "checkSnappy"); } }