Hello, I'm trying catch a BatchUpdateException when insert DataSet using a method output. Because, I need control if insert a duplicate key. How I can do this?
[2018-06-18 22:18:56,419] INFO DataSink (org.apache.flink.api.java.io.jdbc.JDBCOutputFormat@64aad6db) (1/1) (00a77c9e18f893cde9c62a3c9ca5c471) switched from RUNNING to FAILED. (org.apache.flink.runtime.executiongraph.ExecutionGraph) java.lang.IllegalArgumentException: writeRecord() failed at org.apache.flink.api.java.io.jdbc.JDBCOutputFormat.writeRecord(JDBCOutputFormat.java:209) at org.apache.flink.api.java.io.jdbc.JDBCOutputFormat.writeRecord(JDBCOutputFormat.java:41) at org.apache.flink.runtime.operators.DataSinkTask.invoke(DataSinkTask.java:194) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702) at java.lang.Thread.run(Thread.java:748) Caused by: java.sql.BatchUpdateException: Violation of PRIMARY KEY constraint 'TEST_PK'. Cannot insert duplicate key in object 'TEST'. The duplicate key value is (371855553). at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeBatch(SQLServerPreparedStatement.java:2303) at org.apache.flink.api.java.io.jdbc.JDBCOutputFormat.writeRecord(JDBCOutputFormat.java:205) ... 4 more Only have a generic exception: org.apache.flink.runtime.client.JobExecutionException: Job execution failed. Thanks, Dulce Morim