Unable to migrate metadata from zookeeper to KRaft

Using Confluent kafka 7.9.4-1.
Following the documentation of migration from zookeeper to KRaft i completed setting up my controller and its able to communicate with my broker .
but the migration is not getting completed ,ideally its a test cluster and shall not take much time .

controller.properties

process.roles=controller

node.id=3000

controller.quorum.voters=3000@localhost:9093

listeners=CONTROLLER://:9093

controller.listener.names=CONTROLLER
zookeeper.metadata.migration.enable=true
zookeeper.connect=localhost:2181
confluent.cluster.link.metadata.topic.enable=true

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/tmp/kraft-controller-logs

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

group.initial.rebalance.delay.ms=0

confluent.license.topic.replication.factor=1

confluent.metadata.topic.replication.factor=1

confluent.security.event.logger.exporter.kafka.topic.replicas=1

confluent.balancer.enable=true
confluent.balancer.topic.replication.factor=1

logs after starting controller

[2026-03-13 08:49:58,592] INFO [QuorumController id=3000] Creating new QuorumController with clusterId nedl14-4RUi9G3MBCHfqCQ. ZK migration mode is enabled. (org.apache.kafka.controller.QuorumController)
[2026-03-13 08:49:58,613] INFO [QuorumController id=3000] Becoming the active controller at epoch 1, next write offset 1. (org.apache.kafka.controller.QuorumController)
[2026-03-13 08:49:58,623] WARN [QuorumController id=3000] Performing controller activation. The metadata log appears to be empty. Appending 1 bootstrap record(s) in metadata transaction at metadata.version 3.9-IV0 from bootstrap source ‘the binary bootstrap metadata file: /tmp/kraft-controller-logs/bootstrap.checkpoint’. Putting the controller into pre-migration mode. No metadata updates will be allowed until the ZK metadata has been migrated. (org.apache.kafka.controller.QuorumController)
[2026-03-13 08:49:58,629] INFO [QuorumController id=3000] Replayed BeginTransactionRecord(name=‘Bootstrap records’) at offset 1. (org.apache.kafka.controller.OffsetControlManager)
[2026-03-13 08:49:58,629] INFO [QuorumController id=3000] Replayed a FeatureLevelRecord setting metadata.version to 3.9-IV0 (org.apache.kafka.controller.FeatureControlManager)
[2026-03-13 08:49:58,630] INFO [QuorumController id=3000] Replayed a ZkMigrationStateRecord changing the migration state from NONE to PRE_MIGRATION. (org.apache.kafka.controller.FeatureControlManager)
[2026-03-13 08:49:58,630] INFO [QuorumController id=3000] Replayed EndTransactionRecord() at offset 4. (org.apache.kafka.controller.OffsetControlManager)
[2026-03-13 08:49:58,907] INFO [QuorumController id=3000] Replayed RegisterControllerRecord contaning ControllerRegistration(id=3000, incarnationId=l4VZe-YvSw2w5ii1RaZqGg, zkMigrationReady=true, listeners=[Endpoint(listenerName=‘CONTROLLER’, securityProtocol=PLAINTEXT, host=‘srefc03d-ops-23.portal.webmd.com’, port=9093)], supportedFeatures={kraft.version: 0-1, metadata.version: 1-21}). (org.apache.kafka.controller.ClusterControlManager)

[root@srefc03d-ops-23 (nonprod) agaikwad] # kafka-metadata-quorum --bootstrap-controller localhost:9093 describe --status
ClusterId: nedl14-4RUi9G3MBCHfqCQ
LeaderId: 3000
LeaderEpoch: 1
HighWatermark: 218
MaxFollowerLag: 0
MaxFollowerLagTimeMs: 0
CurrentVoters: [{“id”: 3000, “directoryId”: null, “endpoints”: [“CONTROLLER://localhost:9093”]}]
CurrentObservers:

server.properties :

[root@srefc03d-ops-23 (nonprod) kafka] # cat /etc/kafka/server.properties | grep -v “#”

broker.id=0323

listeners=PLAINTEXT://:9092

advertised.listeners=PLAINTEXT://localhost:9092

inter.broker.protocol.version=3.9

zookeeper.metadata.migration.enable=true

confluent.cluster.link.metadata.topic.enable=true

zookeeper.connect=localhost:2181

KRaft controller quorum configuration
controller.quorum.voters=3000@localhost:9093
controller.listener.names=CONTROLLER

listener.security.protocol.map=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/var/lib/kafka

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

log.retention.hours=168

log.retention.check.interval.ms=300000

zookeeper.connect=localhost:2181

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0
confluent.support.metrics.enable=false

controller logs after restart of kafka service

[2026-03-13 09:08:35,073] INFO [RequestSendThread controllerId=323] Shutdown completed (kafka.controller.RequestSendThread)
[2026-03-13 09:08:35,074] INFO [RequestSendThread controllerId=323] Stopped (kafka.controller.RequestSendThread)
[2026-03-13 09:08:35,083] INFO [Controller id=323] Resigned (kafka.controller.KafkaController)
[2026-03-13 09:08:35,093] INFO [QuorumController id=3000] Starting migration of ZooKeeper metadata to KRaft. (org.apache.kafka.controller.QuorumController)
[2026-03-13 09:08:35,094] DEBUG [Controller id=323] Broker 3000 has been elected as the controller, so stopping the election process. (kafka.controller.KafkaController)
[2026-03-13 09:08:35,095] INFO [QuorumController id=3000] The request from broker 323 to unfence has been granted because it has caught up with the offset of its register broker record 2237. (org.apache.kafka.controller.BrokerHeartbeatManager)
[2026-03-13 09:08:35,110] INFO [QuorumController id=3000] Replayed BrokerRegistrationChangeRecord modifying the registration for broker 323: BrokerRegistrationChangeRecord(brokerId=323, brokerEpoch=2237, fenced=-1, inControlledShutdown=0, logDirs=) (org.apache.kafka.controller.ClusterControlManager)
[2026-03-13 09:08:35,110] INFO [QuorumController id=3000] Replayed BeginTransactionRecord(name=‘ZK Migration’) at offset 2240. (org.apache.kafka.controller.OffsetControlManager)
[2026-03-13 09:08:35,208] INFO [QuorumController id=3000] Replayed TopicRecord for topic topic1 with topic ID UWhfKxMwTCOVchCq2WDdtQ. (org.apache.kafka.controller.ReplicationControlManager)
[2026-03-13 09:08:35,208] INFO [QuorumController id=3000] Replayed PartitionRecord for new partition topic1-0 with topic ID UWhfKxMwTCOVchCq2WDdtQ and PartitionRegistration(replicas=[323], directories=[AAAAAAAAAAAAAAAAAAAAAA], isr=[323], removingReplicas=, addingReplicas=, elr=, lastKnownElr=, leader=323, leaderRecoveryState=RECOVERED, leaderEpoch=0, partitionEpoch=0). (org.apache.kafka.controller.ReplicationControlManager)
[2026-03-13 09:08:35,210] INFO [QuorumController id=3000] Replayed TopicRecord for topic topic2 with topic ID ChD-i2GrQR-fZVLKvyDyFg. (org.apache.kafka.controller.ReplicationControlManager)
[2026-03-13 09:08:35,210] INFO [QuorumController id=3000] Replayed PartitionRecord for new partition topic2-0 with topic ID ChD-i2GrQR-fZVLKvyDyFg and PartitionRegistration(replicas=[323], directories=[AAAAAAAAAAAAAAAAAAAAAA], isr=[323], removingReplicas=, addingReplicas=, elr=, lastKnownElr=, leader=323, leaderRecoveryState=RECOVERED, leaderEpoch=0, partitionEpoch=0). (org.apache.kafka.controller.ReplicationControlManager)
[2026-03-13 09:08:35,234] INFO [QuorumController id=3000] Completing migration of ZooKeeper metadata to KRaft. (org.apache.kafka.controller.QuorumController)
[2026-03-13 09:08:35,234] INFO [QuorumController id=3000] Replayed a ZkMigrationStateRecord changing the migration state from PRE_MIGRATION to MIGRATION. (org.apache.kafka.controller.FeatureControlManager)
[2026-03-13 09:08:35,234] INFO [QuorumController id=3000] Replayed EndTransactionRecord() at offset 2246. (org.apache.kafka.controller.OffsetControlManager)
[2026-03-13 09:08:35,295] DEBUG [Channel manager on controller 3000]: Controller 3000 trying to connect to broker 323 (kafka.controller.ControllerChannelManager)
[2026-03-13 09:08:35,300] INFO [RequestSendThread controllerId=3000] Starting (kafka.controller.RequestSendThread)
[2026-03-13 09:08:35,318] INFO [RequestSendThread controllerId=3000] Controller 3000 connected to localhost:9092 (id: 323 rack: null) for sending state change requests (kafka.controller.RequestSendThread)

server.log

[2026-03-13 09:10:54,460] TRACE [KRaftMigrationDriver id=3000] Did not make any ZK writes when handling KRaft delta (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:54,464] TRACE [KRaftMigrationDriver id=3000] Updated ZK migration state after delta in 3735058 ns. Transitioned migration state from ZkMigrationLeadershipState{kraftControllerId=3000, kraftControllerEpoch=1, kraftMetadataOffset=2524, kraftMetadataEpoch=1, lastUpdatedTimeMs=1773406198823, migrationZkVersion=280, controllerZkEpoch=4, controllerZkVersion=4} to ZkMigrationLeadershipState{kraftControllerId=3000, kraftControllerEpoch=1, kraftMetadataOffset=2525, kraftMetadataEpoch=1, lastUpdatedTimeMs=1773406198823, migrationZkVersion=281, controllerZkEpoch=4, controllerZkVersion=4} (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:54,464] TRACE [KRaftMigrationDriver id=3000] Not sending RPCs to brokers for metadata delta since no relevant metadata has changed (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:54,961] TRACE [KRaftMigrationDriver id=3000] Did not make any ZK writes when handling KRaft delta (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:54,962] TRACE [KRaftMigrationDriver id=3000] Updated ZK migration state after delta in 1607086 ns. Transitioned migration state from ZkMigrationLeadershipState{kraftControllerId=3000, kraftControllerEpoch=1, kraftMetadataOffset=2525, kraftMetadataEpoch=1, lastUpdatedTimeMs=1773406198823, migrationZkVersion=281, controllerZkEpoch=4, controllerZkVersion=4} to ZkMigrationLeadershipState{kraftControllerId=3000, kraftControllerEpoch=1, kraftMetadataOffset=2526, kraftMetadataEpoch=1, lastUpdatedTimeMs=1773406198823, migrationZkVersion=282, controllerZkEpoch=4, controllerZkVersion=4} (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:54,962] TRACE [KRaftMigrationDriver id=3000] Not sending RPCs to brokers for metadata delta since no relevant metadata has changed (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:55,461] TRACE [KRaftMigrationDriver id=3000] Did not make any ZK writes when handling KRaft delta (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:55,464] TRACE [KRaftMigrationDriver id=3000] Updated ZK migration state after delta in 3043693 ns. Transitioned migration state from ZkMigrationLeadershipState{kraftControllerId=3000, kraftControllerEpoch=1, kraftMetadataOffset=2526, kraftMetadataEpoch=1, lastUpdatedTimeMs=1773406198823, migrationZkVersion=282, controllerZkEpoch=4, controllerZkVersion=4} to ZkMigrationLeadershipState{kraftControllerId=3000, kraftControllerEpoch=1, kraftMetadataOffset=2527, kraftMetadataEpoch=1, lastUpdatedTimeMs=1773406198823, migrationZkVersion=283, controllerZkEpoch=4, controllerZkVersion=4} (org.apache.kafka.metadata.migration.KRaftMigrationDriver)
[2026-03-13 09:10:55,464] TRACE [KRaftMigrationDriver id=3000] Not sending RPCs to brokers for metadata delta since no relevant metadata has changed (org.apache.kafka.metadata.migration.KRaftMigrationDriver)

but not seeing message in controller.log :Completed migration of metadata from ZooKeeper to KRaft.

Please help