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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]