Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hadoop >> mail # user >> Class loading in Hadoop and HBase


Copy link to this message
-
Class loading in Hadoop and HBase
Hi all,
I'm running with Hadoop 1.0.4 and HBase 0.94.12 bundled (OSGi) versions I
built.
Most issues I encountered are related to class loaders.

One of the patterns I noticed in both projects is:

    ClassLoader cl = Thread.currentThread().getContextClassLoader();
      if(cl == null) {
      cl = Clazz.class.getClassLoader();
    }

Where Clazz is the Class containing this code.

I was wondering about this choice... Why not go the other way around:

    ClassLoader cl = Clazz.class.getClassLoader();
      if(cl == null) {
      cl = Thread.currentThread().getContextClassLoader();
    }

And in a more general note, why not always use Configuration (and let it's
cl be this.getClass().getClassLoader()) to load classes ?

That would surely help in integration with modularity frameworks.

Thanks,
Amit.