-----------------------------------------------------------
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
> 
>

Reply via email to