sqoop-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jarek Jarcec Cecho <jar...@apache.org>
Subject Re: Should not show NPE exception when occurs import failure
Date Sat, 29 Jun 2013 21:46:19 GMT
Hi Sam,
thank you very much for sharing this concern with us. Would you mind opening a new JIRA for
this?

https://issues.apache.org/jira/browse/SQOOP

Jarcec

On Thu, Jun 27, 2013 at 02:57:49PM +0800, sam liu wrote:
> Hi,
> 
> when failed to import a non-existing table, the returned failure
> information includes java.lang.NullPointerException and other exceptions
> which customer does not care about. These exception might confuse
> customers, and we only need to return them 'ERROR manager.SqlManager: Error
> executing statement: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL
> Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.DB2TEST_TBL1001,
> DRIVER=4.12.55' in this case. Can we make any improvement?
> 
> 
> a) command:
> sqoop import --connect jdbc:db2://hostname:50000/SAMPLE --table
> DB2ADMIN.DB2TEST_TBL1001 --username sam --password pwd -m 1 --target-dir
> /tmp/DB2TEST_TBL001_0620_f
> 
> b) result:
> 13/06/26 22:39:50 WARN tool.BaseSqoopTool: Setting your password on the
> command-line is insecure. Consider using -P instead.
> 13/06/26 22:39:50 INFO manager.SqlManager: Using default fetchSize of 1000
> 13/06/26 22:39:50 INFO tool.CodeGenTool: Beginning code generation
> 13/06/26 22:39:53 INFO manager.SqlManager: Executing SQL statement: SELECT
> t.* FROM DB2ADMIN.DB2TEST_TBL1001 AS t WHERE 1=0
> 13/06/26 22:39:53 ERROR manager.SqlManager: Error executing statement:
> com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204,
> SQLSTATE=42704, SQLERRMC=DB2ADMIN.DB2TEST_TBL1001, DRIVER=4.12.55
> com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204,
> SQLSTATE=42704, SQLERRMC=DB2ADMIN.DB2TEST_TBL1001, DRIVER=4.12.55
>         at com.ibm.db2.jcc.am.hd.a(hd.java:676)
>         at com.ibm.db2.jcc.am.hd.a(hd.java:60)
>         at com.ibm.db2.jcc.am.hd.a(hd.java:127)
>         at com.ibm.db2.jcc.am.mn.c(mn.java:2621)
>         at com.ibm.db2.jcc.am.mn.d(mn.java:2609)
>         at com.ibm.db2.jcc.am.mn.a(mn.java:2085)
>         at com.ibm.db2.jcc.am.nn.a(nn.java:7054)
>         at com.ibm.db2.jcc.t4.cb.g(cb.java:141)
>         at com.ibm.db2.jcc.t4.cb.a(cb.java:41)
>         at com.ibm.db2.jcc.t4.q.a(q.java:32)
>         at com.ibm.db2.jcc.t4.rb.i(rb.java:135)
>         at com.ibm.db2.jcc.am.mn.ib(mn.java:2055)
>         at com.ibm.db2.jcc.am.nn.rc(nn.java:3219)
>         at com.ibm.db2.jcc.am.nn.b(nn.java:4002)
>         at com.ibm.db2.jcc.am.nn.ec(nn.java:728)
>         at com.ibm.db2.jcc.am.nn.executeQuery(nn.java:698)
>         at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:539)
>         at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:548)
>         at
> org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:191)
>         at
> org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:175)
>         at
> org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:262)
>         at
> org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1235)
>         at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1060)
>         at
> org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
>         at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
>         at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
>         at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>         at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
>         at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
>         at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
> 13/06/26 22:39:53 INFO manager.SqlManager: Executing SQL statement: SELECT
> t.* FROM DB2ADMIN.DB2TEST_TBL1001 AS t WHERE 1=0
> 13/06/26 22:39:53 ERROR manager.SqlManager: Error executing statement:
> com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204,
> SQLSTATE=42704, SQLERRMC=DB2ADMIN.DB2TEST_TBL1001, DRIVER=4.12.55
> com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204,
> SQLSTATE=42704, SQLERRMC=DB2ADMIN.DB2TEST_TBL1001, DRIVER=4.12.55
>         at com.ibm.db2.jcc.am.hd.a(hd.java:676)
>         at com.ibm.db2.jcc.am.hd.a(hd.java:60)
>         at com.ibm.db2.jcc.am.hd.a(hd.java:127)
>         at com.ibm.db2.jcc.am.mn.c(mn.java:2621)
>         at com.ibm.db2.jcc.am.mn.d(mn.java:2609)
>         at com.ibm.db2.jcc.am.mn.a(mn.java:2085)
>         at com.ibm.db2.jcc.am.nn.a(nn.java:7054)
>         at com.ibm.db2.jcc.t4.cb.g(cb.java:141)
>         at com.ibm.db2.jcc.t4.cb.a(cb.java:41)
>         at com.ibm.db2.jcc.t4.q.a(q.java:32)
>         at com.ibm.db2.jcc.t4.rb.i(rb.java:135)
>         at com.ibm.db2.jcc.am.mn.ib(mn.java:2055)
>         at com.ibm.db2.jcc.am.nn.rc(nn.java:3219)
>         at com.ibm.db2.jcc.am.nn.b(nn.java:4002)
>         at com.ibm.db2.jcc.am.nn.ec(nn.java:728)
>         at com.ibm.db2.jcc.am.nn.executeQuery(nn.java:698)
>         at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:539)
>         at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:548)
>         at
> org.apache.sqoop.manager.SqlManager.getColumnNamesForRawQuery(SqlManager.java:126)
>         at
> org.apache.sqoop.manager.SqlManager.getColumnNames(SqlManager.java:110)
>         at
> org.apache.sqoop.orm.ClassWriter.getColumnNames(ClassWriter.java:1207)
>         at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1062)
>         at
> org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
>         at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
>         at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
>         at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>         at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
>         at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
>         at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
> 13/06/26 22:39:53 WARN tool.BaseSqoopTool: Error while closing connection:
> com.ibm.db2.jcc.am.SqlException: [jcc][t4][10251][10308][4.12.55]
> java.sql.Connection.close() requested while a transaction is in progress on
> the connection.
> The transaction remains active, and the connection cannot be closed.
> ERRORCODE=-4471, SQLSTATE=null
> 13/06/26 22:39:53 ERROR sqoop.Sqoop: Got exception running Sqoop:
> java.lang.NullPointerException
> *java.lang.NullPointerException*
>         at
> org.apache.sqoop.orm.ClassWriter.cleanColNames(ClassWriter.java:1045)
>         at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1066)
>         at
> org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
>         at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
>         at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
>         at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>         at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
>         at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
>         at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
> 
> -- 
> 
> Sam Liu

Mime
View raw message