----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/50620/#review149957 -----------------------------------------------------------
update the class org.apache.sqoop.mapreduce.OracleUpsertOutputFormat ,the method getUpdateStatement() Set<String> updateKeyLookup = new LinkedHashSet<String>(); for (String updateKey : updateCols) { updateKeyLookup.add(OracleUtils.escapeIdentifier(updateKey)); } - lin peng On 七月 29, 2016, 10:20 p.m., Sowmya Ramesh wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/50620/ > ----------------------------------------------------------- > > (Updated 七月 29, 2016, 10:20 p.m.) > > > Review request for Sqoop. > > > Bugs: SQOOP-2990 > https://issues.apache.org/jira/browse/SQOOP-2990 > > > Repository: sqoop-trunk > > > Description > ------- > > Sqoop(oracle) export [updateTableToOracle] with "--update-mode allowinsert" : > app fails with java.sql.SQLException: Missing IN or OUT parameter at index > > MR job fails with > > org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt > attempt_1464136533286_0050_m_000000_0 is : 0.0 > 2016-05-25 01:35:29,288 FATAL [IPC Server handler 8 on 47839] > org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: > attempt_1464136533286_0050_m_000000_0 - exited : java.io.IOException: > java.sql.SQLException: Missing IN or OUT parameter at index:: 13 > at > org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:197) > at > org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:670) > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:793) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1724) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162) > Caused by: java.sql.SQLException: Missing IN or OUT parameter at index:: 13 > at > oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1821) > at > oracle.jdbc.driver.OraclePreparedStatement.addBatch(OraclePreparedStatement.java:10010) > at > oracle.jdbc.driver.OraclePreparedStatementWrapper.addBatch(OraclePreparedStatementWrapper.java:1358) > at > org.apache.sqoop.mapreduce.UpdateOutputFormat$UpdateRecordWriter.getPreparedStatement(UpdateOutputFormat.java:174) > at > org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.execUpdate(AsyncSqlRecordWriter.java:153) > at > org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:194) > ... 8 more > > > Diffs > ----- > > src/java/org/apache/sqoop/mapreduce/OracleUpsertOutputFormat.java f79aaa9 > > Diff: https://reviews.apache.org/r/50620/diff/ > > > Testing > ------- > > Manual testing > > > Thanks, > > Sowmya Ramesh > >