[ 
https://issues.apache.org/jira/browse/SQOOP-2999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15426015#comment-15426015
 ] 

Szabolcs Vasas commented on SQOOP-2999:
---------------------------------------

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)

Reply via email to