junrao commented on code in PR #14836:
URL: https://github.com/apache/kafka/pull/14836#discussion_r1408227531


##########
core/src/test/scala/unit/kafka/server/BrokerLifecycleManagerTest.scala:
##########
@@ -201,7 +201,7 @@ class BrokerLifecycleManagerTest {
     while (!future.isDone || context.mockClient.hasInFlightRequests) {
       context.poll()
       manager.eventQueue.wakeup()
-      context.time.sleep(100)
+      context.time.sleep(5)

Review Comment:
   @soarez : Thanks for the explanation. Currently, when processing a 
successful `HeartBeatResponse`, `BrokerLifecycleManager` automatically 
schedules a new `HeartBeatRequest`, regardless whether there is a pending 
HeartBeatRequest in `KafkaEventQueue`. Normally, only BrokerRegistration 
triggers the initial HeartBeatRequest. So, there is only one HeartBeatRequest 
per heartbeat interval. However, each `manager.propagateDirectoryFailure` now 
independently triggers a separate  `HeartBeatRequest`. This means every 
`manager.propagateDirectoryFailure` call adds one more `HeartBeatRequest` per 
heartbeat interval forever during the lifetime of a broker. This could 
unnecessarily overwhelm the controller. So, this seems to be a real issue? 



-- 
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.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to