[ https://issues.apache.org/jira/browse/FLINK-7784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16224814#comment-16224814 ]
ASF GitHub Bot commented on FLINK-7784: --------------------------------------- Github user GJL commented on a diff in the pull request: https://github.com/apache/flink/pull/4910#discussion_r147687302 --- Diff: flink-connectors/flink-connector-kafka-0.11/src/main/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaProducer011.java --- @@ -922,6 +945,22 @@ private void readObject(java.io.ObjectInputStream in) throws IOException, ClassN producersPool = new ProducersPool(); } + /** + * Disables the propagation of exceptions thrown when committing presumably timed out Kafka + * transactions during recovery of the job. If a Kafka transaction is timed out, a commit will + * never be successful. Hence, use this feature to avoid recovery loops of the Job. Exceptions + * will still be logged to inform the user that data loss might have occurred. + * + * <p>Note that we use {@link System#currentTimeMillis()} to track the age of a transaction. + * Moreover, only exceptions thrown during the recovery are caught, i.e., the producer will + * attempt at least one commit of the transaction before giving up.</p> + */ + @Override + public FlinkKafkaProducer011<IN> disableFailurePropagationAfterTransactionTimeout() { --- End diff -- Thanks. Moved it. > Don't fail TwoPhaseCommitSinkFunction when failing to commit > ------------------------------------------------------------ > > Key: FLINK-7784 > URL: https://issues.apache.org/jira/browse/FLINK-7784 > Project: Flink > Issue Type: Bug > Components: DataStream API > Affects Versions: 1.4.0 > Reporter: Aljoscha Krettek > Assignee: Gary Yao > Priority: Blocker > Fix For: 1.4.0 > > > Currently, {{TwoPhaseCommitSinkFunction}} will fail if committing fails > (either when doing it via the completed checkpoint notification or when > trying to commit after restoring after failure). This means that the job will > go into an infinite recovery loop because we will always keep failing. > In some cases it might be better to ignore those failures and keep on > processing and this should be the default. We can provide an option that > allows failing the sink on failing commits. -- This message was sent by Atlassian JIRA (v6.4.14#64029)