Zoltan Martonka has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/22867 )

Change subject: KUDU-3665 Send no-op heartbeat operations batched PART1
......................................................................


Patch Set 9:

I realized this is not the optimal design to address the problem.
Since the main problem is not the network, but the large number of tiny context 
switches, we should address it on both the receiving and sending ends, not just 
the receiving end.
Instead of each heartbeater having its own timer, there should be one timer per 
host, which handles all heartbeat messages belonging to that host. This would 
prevent messages from sitting in the buffer and allow the old writing logic to 
be restored.

The only negative performance impact would be that when a periodic heartbeat 
detects it actually needs to send changes, it has to schedule a callback (so it 
won’t hold up the multi_raft_batcher thread) instead of doing it immediately.

To my current understanding, this should occur rarely and its impact should be 
negligible.
I will change things to work this way and measure again.


--
To view, visit http://gerrit.cloudera.org:8080/22867
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie92ba4de5eae00d56cd513cb644dce8fb6e14538
Gerrit-Change-Number: 22867
Gerrit-PatchSet: 9
Gerrit-Owner: Zoltan Martonka <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Attila Bukor <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Zoltan Chovan <[email protected]>
Gerrit-Reviewer: Zoltan Martonka <[email protected]>
Gerrit-Comment-Date: Mon, 21 Jul 2025 08:43:15 +0000
Gerrit-HasComments: No

Reply via email to