[
https://issues.apache.org/jira/browse/KUDU-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grant Henke updated KUDU-1707:
------------------------------
Labels: scalability stability (was: stability)
> Add hook to handle RPCs prior to queueing or rejection
> ------------------------------------------------------
>
> Key: KUDU-1707
> URL: https://issues.apache.org/jira/browse/KUDU-1707
> Project: Kudu
> Issue Type: Bug
> Components: consensus, rpc
> Affects Versions: 1.0.1
> Reporter: Todd Lipcon
> Priority: Major
> Labels: scalability, stability
>
> When the Kudu RPC handlers are all busy, RPCs are rejected and it's up to the
> client to back-off and retry. This is usually a good idea, but is somewhat
> silly when the RPCs themselves are extremely lightweight. It can even be
> problematic when the RPC is responsible for updating liveness or detecting
> failures, as in cases like:
> - empty consensus updates which just need to update the Raft failure detector
> - the 'Ping' request that ksck uses to determine which tservers are online
> - the Scanner Keepalive call which just needs to keep a scanner open
> For these cases, it would be preferable to allow the RPC to be handled even
> if it would otherwise be rejected. For the consensus heartbeat example in
> particular, this handling would substantially reduce election storms when
> under high load.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)