[ https://issues.apache.org/jira/browse/KAFKA-15825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Arthur resolved KAFKA-15825. ---------------------------------- Resolution: Fixed This bug was fixed as part of KAFKA-15605 > KRaft controller writes empty state to ZK after migration > --------------------------------------------------------- > > Key: KAFKA-15825 > URL: https://issues.apache.org/jira/browse/KAFKA-15825 > Project: Kafka > Issue Type: Bug > Components: controller > Affects Versions: 3.6.0 > Reporter: David Arthur > Assignee: David Arthur > Priority: Major > Fix For: 3.7.0, 3.6.1 > > > Immediately following the ZK migration, there is a race condition where the > KRaftMigrationDriver can use an empty MetadataImage when performing the full > "SYNC_KRAFT_TO_ZK" reconciliation. > After the next controller failover, or when the controller loads a metadata > snapshot, the correct state will be written to ZK. > The symptom of this bug is that we see the migration complete, and then all > the metadata removed from ZK. For example, > {code} > [KRaftMigrationDriver id=9990] Completed migration of metadata from ZooKeeper > to KRaft. 573 records were generated in 2204 ms across 51 batches. The record > types were {TOPIC_RECORD=41, PARTITION_RECORD=410, CONFIG_RECORD=121, > PRODUCER_IDS_RECORD=1}. The current metadata offset is now 503794 with an > epoch of 21. Saw 6 brokers in the migrated metadata [0, 1, 2, 3, 4, 5]. > {code} > immediately followed by: > {code} > [KRaftMigrationDriver id=9990] Made the following ZK writes when reconciling > with KRaft state: {DeleteBrokerConfig=7, DeleteTopic=41, UpdateTopicConfig=41} > {code} > If affected by this, a quick workaround is to cause the controller to > failover. -- This message was sent by Atlassian Jira (v8.20.10#820010)