[
https://issues.apache.org/jira/browse/FLINK-23839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17410670#comment-17410670
]
Arvid Heise commented on FLINK-23839:
-------------------------------------
Actually the description of the error in the PR made it very clear, so thank
you for updating it!
> Unclear severity of Kafka transaction recommit warning in logs
> --------------------------------------------------------------
>
> Key: FLINK-23839
> URL: https://issues.apache.org/jira/browse/FLINK-23839
> Project: Flink
> Issue Type: Sub-task
> Components: Connectors / Kafka
> Affects Versions: 1.11.4, 1.12.5, 1.13.2
> Reporter: Nico Kruber
> Assignee: David Morávek
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.14.0
>
>
> In a transactional Kafka sink, after recovery, all transactions from the
> recovered checkpoint are recommitted even though they may have already been
> committed before because this is not part of the checkpoint.
> This second commit can lead to a number of WARN entries in the logs coming
> from
> [KafkaCommitter|https://github.com/apache/flink/blob/6c9818323b41a84137c52822d2993df788dbc9bb/flink-connectors/flink-connector-kafka/src/main/java/org/apache/flink/connector/kafka/sink/KafkaCommitter.java#L66]
> or
> [FlinkKafkaProducer|https://github.com/apache/flink/blob/6c9818323b41a84137c52822d2993df788dbc9bb/flink-connectors/flink-connector-kafka/src/main/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaProducer.java#L1057].
> Examples:
> {code}
> WARN [org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer] ...
> Encountered error org.apache.kafka.common.errors.InvalidTxnStateException:
> The producer attempted a transactional operation in an invalid state. while
> recovering transaction KafkaTransactionState [transactionalId=...,
> producerId=12345, epoch=123]. Presumably this transaction has been already
> committed before.
> WARN [org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer] ...
> Encountered error org.apache.kafka.common.errors.ProducerFencedException:
> Producer attempted an operation with an old epoch. Either there is a newer
> producer with the same transactionalId, or the producer's transaction has
> been expired by the broker. while recovering transaction
> KafkaTransactionState [transactionalId=..., producerId=12345, epoch=12345].
> Presumably this transaction has been already committed before
> {code}
> It sounds to me like the second exception is useful and indicates that the
> transaction timeout is too short. The first exception, however, seems
> superfluous and rather alerts the user more than it helps. Or what would you
> do with it?
> Can we instead filter out superfluous exceptions and at least put these onto
> DEBUG logs instead?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)