[
https://issues.apache.org/jira/browse/SQOOP-2999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Szabolcs Vasas updated SQOOP-2999:
----------------------------------
Comment: was deleted
(was: Hi [~venkatnrangan],
Thanks for pointing it out, it must be the same thing. Now I remember why this
exception was familiar to me but back then it was not clear that the lib is
missing from the map task's classpath and it seems there is no update on that
JIRA.
Hi [~sowmyaramesh],
Sorry for stealing this from you, you are more than welcome to review this
patch.
)
> Sqoop ClassNotFoundException (org.apache.commons.lang3.StringUtils) is thrown
> when executing Oracle direct import map task
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: SQOOP-2999
> URL: https://issues.apache.org/jira/browse/SQOOP-2999
> Project: Sqoop
> Issue Type: Bug
> Affects Versions: 1.4.7
> Reporter: Szabolcs Vasas
> Assignee: Szabolcs Vasas
>
> Seems like SQOOP-2737 introduced a new class OracleUtils [2]. This class has
> a dependency on org.apache.commons.lang3.StringUtils. Unfortunately the jar
> that fulfills this dependency is not on the classpath that Sqoop passes to
> the mappers. The exception thrown runtime:
> 16/08/10 16:56:33 INFO mapreduce.Job: Task Id :
> attempt_1470791013845_0029_m_000000_0, Status : FAILED
> Error: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at
> org.apache.sqoop.manager.oracle.OracleUtils.escapeIdentifier(OracleUtils.java:36)
>
> at
> org.apache.sqoop.manager.oracle.OraOopOracleQueries.getTableColumns(OraOopOracleQueries.java:683)
>
> at
> org.apache.sqoop.manager.oracle.OraOopOracleQueries.getTableColumns(OraOopOracleQueries.java:767)
>
> at
> org.apache.sqoop.manager.oracle.OraOopDBRecordReader.getSelectQuery(OraOopDBRecordReader.java:195)
>
> at
> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
>
> at
> org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:356)
>
> at
> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:556)
>
> at
> org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
>
> at
> org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
>
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
> at
> org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64)
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
>
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)