Nadeem Douba created HADOOP-12406:
-------------------------------------

             Summary: AbstractMapWritable.readFields throws 
ClassNotFoundException with custom writables
                 Key: HADOOP-12406
                 URL: https://issues.apache.org/jira/browse/HADOOP-12406
             Project: Hadoop Common
          Issue Type: Bug
          Components: io
    Affects Versions: 2.7.1
         Environment: Ubuntu Linux 14.04 LTS amd64

            Reporter: Nadeem Douba
            Priority: Blocker
             Fix For: 2.7.1


Note: I am not an expert at JAVA, Class loaders, or Hadoop. I am just a hacker. 
My solution might be entirely wrong.

AbstractMapWritable.readFields throws a ClassNotFoundException when reading 
custom writables. Debugging the job using remote debugging in IntelliJ revealed 
that the class loader being used in Class.forName() is different than that used 
by the Thread's current context 
(Thread.currentThread().getContextClassLoader()). The class path for the system 
class loader does not include the libraries of the job jar. However, the class 
path for the context class loader does. The proposed patch changes the class 
loading mechanism in readFields to use the Thread's context class loader 
instead of the system's default class loader.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to