KAFKA-12388: Share broker channel between alterIsrManager and lifecycleManager#10255
KAFKA-12388: Share broker channel between alterIsrManager and lifecycleManager#10255dengziming wants to merge 1 commit intoapache:trunkfrom
Conversation
c2d1496 to
189aa3e
Compare
189aa3e to
cc2bfb0
Compare
|
@abbccdda @mumrah @hachikuji to have a look.😉 |
cc2bfb0 to
bfc99c3
Compare
|
Thanks for looking at this. The issue that I see with sharing channels (really sockets) in this way is that we don't want the broker heartbeat to get delayed by something else. If the heartbeat gets delayed too long, the consequences could be really bad. I think what we should do here is get rid of head-of-line blocking for Kafka RPCs, so that they can be done in parallel. Really, the main reason why we still have head-of-line blocking is because of the difficulty of moving the producer and consumer off of that model. So we could get rid of HOL blocking for all requests except produce and consume without too many changes to the code, I think. I think we need to fix the HOL blocking problem before we start consolidating channels, to avoid regressions in functionality. cc @ijuma @hachikuji @abbccdda |
More detailed description of your change
There are some
BorkerToControllerChannerManagerinBrokerServerandKafkaServer,We are planning to consolidate into two channels eventually:
Auto topic creation and forwarding fall into the 2nd category, while AlterIsr, lifecycleManager, and logDirEventManager(see KAFKA-9837) would be the 1st category.
#10135 is consolidating the 2nd category, this pr is trying to consolidate the 1st category.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)