[
https://issues.apache.org/jira/browse/FLINK-27585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17561415#comment-17561415
]
张健 commented on FLINK-27585:
----------------------------
It seems snapshotState() will throws the exception stored before and thus will
not checkpoint successfully.
> JdbcOutpuFormat fails to flush data on checkpoint and causes data loss
> ----------------------------------------------------------------------
>
> Key: FLINK-27585
> URL: https://issues.apache.org/jira/browse/FLINK-27585
> Project: Flink
> Issue Type: New Feature
> Components: Connectors / JDBC
> Affects Versions: 1.12.3
> Reporter: Paul Lin
> Priority: Critical
>
> Currently, JdbcOutpuFormat may periodically flush the batches, and store the
> exception if there's one. The exception would not be thrown out to flink
> runtime immediately, instead, it would be checked when a new record in
> written or flush() is called on checkpoint snapshot.
> However, in a job I see, when there's an exception already, the flush()
> called by checkpointed function would not recognize the exception, and the
> checkpoint would still succeed regardless of the flush exception, which makes
> the failed batch silently lost.
> I'm upgrading it to 1.14 to see if it happens still.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)