You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Szabolcs Vasas (JIRA)" <ji...@apache.org> on 2016/10/17 15:21:58 UTC

[jira] [Closed] (SQOOP-2999) Sqoop ClassNotFoundException (org.apache.commons.lang3.StringUtils) is thrown when executing Oracle direct import map task

     [ https://issues.apache.org/jira/browse/SQOOP-2999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Szabolcs Vasas closed SQOOP-2999.
---------------------------------

> 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
>             Fix For: 1.4.7
>
>         Attachments: SQOOP-2999.patch
>
>
> 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)