[
https://issues.apache.org/jira/browse/RATIS-458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16829587#comment-16829587
]
Lokesh Jain commented on RATIS-458:
-----------------------------------
[~jnp] yes it is an optimization and can still be done.
> GrpcLogAppender#shouldWait should wait on pending log entries to follower
> -------------------------------------------------------------------------
>
> Key: RATIS-458
> URL: https://issues.apache.org/jira/browse/RATIS-458
> Project: Ratis
> Issue Type: Bug
> Reporter: Lokesh Jain
> Assignee: Lokesh Jain
> Priority: Major
> Attachments: RATIS-458.001.patch, RATIS-458.002.patch,
> RATIS-458.003.patch
>
>
> In GrpcLogAppender when an append entry times out we remove the entry from
> the pendingRequests. This decreases the size of pendingRequests which affects
> the logic in GrpcLogAppender#shouldWait. Further we also consider heartbeats
> in shouldWait because heartbeats are tracked in pendingRequests. It should
> actually wait on the number of log entries which are appended to follower but
> have not yet been processed by it.
> GrpcConfigKeys.Server.leaderOutstandingAppendsMax should also be a fraction
> of RaftServerConfigKeys.Log.queueSize. This brings flow control for leader's
> append entries to follower because then number of outstanding append entries
> in leader would be limited by maximum number of operations in raft log worker.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)