ijuma commented on a change in pull request #10155:
URL: https://github.com/apache/kafka/pull/10155#discussion_r579228539
##########
File path: core/src/main/scala/kafka/server/BrokerServer.scala
##########
@@ -326,14 +326,16 @@ class BrokerServer(
// Start log manager, which will perform (potentially lengthy)
recovery-from-unclean-shutdown if required.
logManager.startup(metadataCache.getAllTopics())
// Start other services that we've delayed starting, in the appropriate
order.
- replicaManager.endMetadataChangeDeferral(
- RequestHandlerHelper.onLeadershipChange(groupCoordinator,
transactionCoordinator, _, _))
replicaManager.startup()
replicaManager.startHighWatermarkCheckPointThread()
groupCoordinator.startup(() =>
metadataCache.numPartitions(Topic.GROUP_METADATA_TOPIC_NAME).
getOrElse(config.offsetsTopicPartitions))
transactionCoordinator.startup(() =>
metadataCache.numPartitions(Topic.TRANSACTION_STATE_TOPIC_NAME).
getOrElse(config.transactionTopicPartitions))
+ // Apply deferred changes after starting coordinators to avoid
GroupMetadataManager IllegalStateException
+ // due to Kafka scheduler not yet running (this manifests if we have
deferred any coordinator offsets partitions).
Review comment:
These types of comments should explain the intended behavior vs what
errors we are trying to avoid. Does that make sense?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]