[ https://issues.apache.org/jira/browse/KAFKA-16003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17796888#comment-17796888 ]
David Arthur edited comment on KAFKA-16003 at 12/14/23 7:50 PM: ---------------------------------------------------------------- I agree that the dual-write code should mimic the ZK controller exactly. I'll fix the missing ZNode issue. However, I'm not sure the lack of "/config/topics/my-topic-no-config" explains the behavior you're seeing. Looking through the code, all the times we read from /config/topics/<topic> there is handling for NONODE which returns an empty map. Can you give me precise reproduction steps? Including broker configs and what commands you ran? Edit: just saw your latest comment. Can you confirm that there is no issue after rolling back to ZK mode? was (Author: davidarthur): I agree that the dual-write code should mimic the ZK controller exactly. I'll fix the missing ZNode issue. However, I'm not sure the lack of "/config/topics/my-topic-no-config" explains the behavior you're seeing. Looking through the code, all the times we read from /config/topics/<topic> there is handling for NONODE which returns an empty map. Can you give me precise reproduction steps? Including broker configs and what commands you ran? > The znode /config/topics is not updated during KRaft migration in > "dual-write" mode > ----------------------------------------------------------------------------------- > > Key: KAFKA-16003 > URL: https://issues.apache.org/jira/browse/KAFKA-16003 > Project: Kafka > Issue Type: Bug > Components: controller > Affects Versions: 3.6.1 > Reporter: Paolo Patierno > Assignee: Mickael Maison > Priority: Major > > I tried the following scenario ... > I have a ZooKeeper-based cluster and create a my-topic-1 topic (without > specifying any specific configuration for it). The correct znodes are created > under /config/topics and /brokers/topics. > I start a migration to KRaft but not moving forward from "dual write" mode. > While in this mode, I create a new my-topic-2 topic (still without any > specific config). I see that a new znode is created under /brokers/topics but > NOT under /config/topics. It seems that the KRaft controller is not updating > this information in ZooKeeper during the dual-write. The controller log shows > that the write to ZooKeeper was done, but not everything I would say: > {code:java} > 2023-12-13 10:23:26,229 TRACE [KRaftMigrationDriver id=3] Create Topic > my-topic-2, ID Macbp8BvQUKpzmq2vG_8dA. Transitioned migration state from > ZkMigrationLeadershipState{kraftControllerId=3, kraftControllerEpoch=7, > kraftMetadataOffset=445, kraftMetadataEpoch=7, > lastUpdatedTimeMs=1702462785587, migrationZkVersion=236, controllerZkEpoch=3, > controllerZkVersion=3} to ZkMigrationLeadershipState{kraftControllerId=3, > kraftControllerEpoch=7, kraftMetadataOffset=445, kraftMetadataEpoch=7, > lastUpdatedTimeMs=1702462785587, migrationZkVersion=237, controllerZkEpoch=3, > controllerZkVersion=3} > (org.apache.kafka.metadata.migration.KRaftMigrationDriver) > [controller-3-migration-driver-event-handler] > 2023-12-13 10:23:26,229 DEBUG [KRaftMigrationDriver id=3] Made the following > ZK writes when handling KRaft delta: {CreateTopic=1} > (org.apache.kafka.metadata.migration.KRaftMigrationDriver) > [controller-3-migration-driver-event-handler] {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)