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