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)