ijuma commented on a change in pull request #10009: URL: https://github.com/apache/kafka/pull/10009#discussion_r568649417
########## File path: core/src/main/scala/kafka/coordinator/transaction/TransactionCoordinator.scala ########## @@ -615,7 +615,7 @@ class TransactionCoordinator(brokerId: Int, info("Shutting down.") isActive.set(false) scheduler.shutdown() - producerIdManager.shutdown() + producerIdGenerator.shutdown() Review comment: Yeah, I agree that the shutdown of producer id generator should move to `KafkaServer` if it's where we create it. Alternatively, `TransactionCoordinator` could take a factory (i.e. () => ProducerIdGenerator) for creating a `ProducerIdGenerator` and keep lifecycle management in `TransactionCoordinator`. ########## File path: core/src/main/scala/kafka/coordinator/transaction/TransactionCoordinator.scala ########## @@ -615,7 +615,7 @@ class TransactionCoordinator(brokerId: Int, info("Shutting down.") isActive.set(false) scheduler.shutdown() - producerIdManager.shutdown() + producerIdGenerator.shutdown() Review comment: I think the factory with the `apply` method would work reasonably well. ########## File path: core/src/main/scala/kafka/coordinator/transaction/TransactionCoordinator.scala ########## @@ -83,7 +83,7 @@ object TransactionCoordinator { class TransactionCoordinator(brokerId: Int, txnConfig: TransactionConfig, scheduler: Scheduler, - producerIdManager: ProducerIdManager, + producerIdGeneratorFactory: () => ProducerIdGenerator, Review comment: Nit: since this is a function, I'd call it `createProduceIdGenerator` or a verb like that. ---------------------------------------------------------------- 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: us...@infra.apache.org