[ https://issues.apache.org/jira/browse/KAFKA-12635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17486576#comment-17486576 ]
Federico Valeri edited comment on KAFKA-12635 at 2/4/22, 8:51 AM: ------------------------------------------------------------------ I was able to reproduce the issue on Kafka 2.7.2 and 2.8.1, but not on 3.1.0. State of the source cluster after producing/consuming 1mln records: {code} $ $KAFKA_HOME/bin/kafka-topics.sh --bootstrap-server :9090 --describe --topic my-topic Topic: my-topic PartitionCount: 3 ReplicationFactor: 3 Configs: min.insync.replicas=2,message.format.version=2.8-IV1 Topic: my-topic Partition: 0 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1 Topic: my-topic Partition: 1 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: my-topic Partition: 2 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0 $ $KAFKA_HOME/bin/kafka-consumer-groups.sh --bootstrap-server :9090 --describe --group my-group Consumer group 'my-group' has no active members. GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID my-group my-topic 0 332600 332600 0 - - - my-group my-topic 1 335510 335510 0 - - - my-group my-topic 2 331890 331890 0 - - - {code} State of the target cluster after MM2 has done its job (sync.group.offsets.enabled = true): {code} $ $KAFKA_HOME/bin/kafka-topics.sh --bootstrap-server :9093 --describe --topic my-topic Topic: my-topic PartitionCount: 3 ReplicationFactor: 3 Configs: min.insync.replicas=2,message.format.version=2.8-IV1 Topic: my-topic Partition: 0 Leader: 3 Replicas: 3,4,5 Isr: 3,4,5 Topic: my-topic Partition: 1 Leader: 4 Replicas: 4,5,3 Isr: 4,5,3 Topic: my-topic Partition: 2 Leader: 5 Replicas: 5,3,4 Isr: 5,3,4 $ $KAFKA_HOME/bin/kafka-consumer-groups.sh --bootstrap-server :9093 --describe --group my-group Consumer group 'my-group' has no active members. GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID my-group my-topic 0 332600 0 -332600 - - - my-group my-topic 1 335510 0 -335510 - - - my-group my-topic 2 331890 0 -331890 - - - {code} There is actually no need to set a custom value for retention.ms in order to trigger the issue. was (Author: fvaleri): I was able to reproduce the issue on Kafka 2.7.2 and 2.8.1, but not on 3.1.0. State of the source cluster after producing/consuming 1mln records: {code} $ $KAFKA_HOME/bin/kafka-topics.sh --bootstrap-server :9090 --describe --topic my-topic Topic: my-topic PartitionCount: 3 ReplicationFactor: 3 Configs: min.insync.replicas=2,message.format.version=2.8-IV1 Topic: my-topic Partition: 0 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1 Topic: my-topic Partition: 1 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: my-topic Partition: 2 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0 $ $KAFKA_HOME/bin/kafka-consumer-groups.sh --bootstrap-server :9090 --describe --group my-group Consumer group 'my-group' has no active members. GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID my-group my-topic 0 332600 332600 0 - - - my-group my-topic 1 335510 335510 0 - - - my-group my-topic 2 331890 331890 0 - - - {code} State of the target cluster after MM2 has done its job (sync.group.offsets.enabled = true, replication.policy.class = io.strimzi.kafka.connect.mirror.IdentityReplicationPolicy): {code} $ $KAFKA_HOME/bin/kafka-topics.sh --bootstrap-server :9093 --describe --topic my-topic Topic: my-topic PartitionCount: 3 ReplicationFactor: 3 Configs: min.insync.replicas=2,message.format.version=2.8-IV1 Topic: my-topic Partition: 0 Leader: 3 Replicas: 3,4,5 Isr: 3,4,5 Topic: my-topic Partition: 1 Leader: 4 Replicas: 4,5,3 Isr: 4,5,3 Topic: my-topic Partition: 2 Leader: 5 Replicas: 5,3,4 Isr: 5,3,4 $ $KAFKA_HOME/bin/kafka-consumer-groups.sh --bootstrap-server :9093 --describe --group my-group Consumer group 'my-group' has no active members. GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID my-group my-topic 0 332600 0 -332600 - - - my-group my-topic 1 335510 0 -335510 - - - my-group my-topic 2 331890 0 -331890 - - - {code} There is actually no need to set a custom value for retention.ms in order to trigger the issue. > Mirrormaker 2 offset sync is incorrect if the target partition is empty > ----------------------------------------------------------------------- > > Key: KAFKA-12635 > URL: https://issues.apache.org/jira/browse/KAFKA-12635 > Project: Kafka > Issue Type: Bug > Components: mirrormaker > Affects Versions: 2.7.0 > Reporter: Frank Yi > Assignee: Ning Zhang > Priority: Major > > This bug occurs when using Mirrormaker with "sync.group.offsets.enabled = > true". > If a source partition is empty, but the source consumer group's offset for > that partition is non-zero, then Mirrormaker sets the target consumer group's > offset for that partition to the literal, not translated, offset of the > source consumer group. This state can be reached if the source consumer group > consumed some records that were now deleted (like by a retention policy), or > if Mirrormaker replication is set to start at "latest". This bug causes the > target consumer group's lag for that partition to be negative and breaks > offset sync for that partition until lag is positive. > The correct behavior when the source partition is empty would be to set the > target offset to the translated offset, not literal offset, which in this > case would always be 0. > Original email thread on this issue: > https://lists.apache.org/thread.html/r7c54ee5f57227367b911d4abffa72781772d8dd3b72d75eb65ee19f7%40%3Cusers.kafka.apache.org%3E -- This message was sent by Atlassian Jira (v8.20.1#820001)