[
https://issues.apache.org/jira/browse/HADOOP-12406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Wang updated HADOOP-12406:
---------------------------------
Flags: Patch (was: Patch,Important)
> 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
> Assignee: Nadeem Douba
> Priority: Blocker
> Fix For: 2.7.3, 3.0.0-alpha1
>
> Attachments: HADOOP-12406.1.patch, HADOOP-12406.patch
>
>
> 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)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]