I am using flink-connector-jdbc 1.12.2 When the flink fails to write records to the database, as a result of some connection failure, then the exception thrown contains an almost 5000 of the following circular causes:
Caused by: java.lang.RuntimeException: Writing records to JDBC failed. at org.apache.flink.connector.jdbc.internal.JdbcBatchingOutputFormat.checkFlushException(JdbcBatchingOutputFormat.java:154) ~[blob_p-388afb5a40add54a38cd54f9bee725a00be5f450-fa518baa6889bb6be0f5967e4be54ec9:?] at org.apache.flink.connector.jdbc.internal.JdbcBatchingOutputFormat.writeRecord(JdbcBatchingOutputFormat.java:160) ~[blob_p-388afb5a40add54a38cd54f9bee725a00be5f450-fa518baa6889bb6be0f5967e4be54ec9:?] at org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.invoke(GenericJdbcSinkFunction.java:54) ~[blob_p-388afb5a40add54a38cd54f9bee725a00be5f450-fa518baa6889bb6be0f5967e4be54ec9:?] When looking at the code, in JdbcBatchingOutputFormat class, it seems like the checkFlushException() throws a new RuntimeExpetion while concatenating the previous saved flushException (as a cause) to it. Then the result exception will be thrown and saved as a new flushException, and so on. private void checkFlushException() { if (this.flushException != null) { throw new RuntimeException("Writing records to JDBC failed.", this.flushException); } } Is this a known issue? Is there a way to work around it? Thanks, Hameed Confidentiality: This communication and any attachments are intended for the above-named persons only and may be confidential and/or legally privileged. Any opinions expressed in this communication are not necessarily those of NICE Actimize. If this communication has come to you in error you must take no action based on it, nor must you copy or show it to anyone; please delete/destroy and inform the sender by e-mail immediately. Monitoring: NICE Actimize may monitor incoming and outgoing e-mails. Viruses: Although we have taken steps toward ensuring that this e-mail and attachments are free from any virus, we advise that in keeping with good computing practice the recipient should ensure they are actually virus free.