sqoop-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sam liu <liuqiyun2...@gmail.com>
Subject Should not show NPE exception when occurs import failure
Date Thu, 27 Jun 2013 06:57:49 GMT
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