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
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.