Teng Fei Liao created FLINK-17355: ------------------------------------- Summary: Exactly once kafka checkpointing sensitive to single node failures Key: FLINK-17355 URL: https://issues.apache.org/jira/browse/FLINK-17355 Project: Flink Issue Type: Bug Components: Connectors / Kafka Affects Versions: 1.10.0 Reporter: Teng Fei Liao
With exactly one semantics, when checkpointing, FlinkKafkaProducer creates a new KafkaProducer for each checkpoint. KafkaProducer#initTransactions can timeout if a kafka node becomes unavailable, even in the case of multiple brokers and in-sync replicas (see [https://stackoverflow.com/questions/55955379/enabling-exactly-once-causes-streams-shutdown-due-to-timeout-while-initializing]). In non-flink cases, this might be fine since I imagine a KafkaProducer is not created very often. With flink however, this is called per checkpoint which means practically an HA kafka cluster isn't actually HA. This makes rolling a kafka node particularly painful even in intentional cases such as config changes or upgrades. In our specific setup, these are our settings: 5 kafka nodes Per topic, we have a replication factor = 3 and in-sync replicas = 2 and partitions = 3 -- This message was sent by Atlassian Jira (v8.3.4#803005)