[
https://issues.apache.org/jira/browse/RATIS-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz Wo Nicholas Sze updated RATIS-459:
--------------------------------------
Attachment: r459_20190311.patch
> Async requests may become out-of-order in some rare case
> --------------------------------------------------------
>
> Key: RATIS-459
> URL: https://issues.apache.org/jira/browse/RATIS-459
> Project: Ratis
> Issue Type: Improvement
> Components: client, server
> Reporter: Tsz Wo Nicholas Sze
> Assignee: Tsz Wo Nicholas Sze
> Priority: Major
> Labels: ozone
> Attachments: r459_20190222.patch, r459_20190227.patch,
> r459_20190228.patch, r459_20190228b.patch, r459_20190308.patch,
> r459_20190311.patch
>
>
> With some discussion with [~ljain] (thanks!), the following (highly unlikely)
> hypothetical scenario may lead to the async requests out-of-order.
> # Requests r1-r5 success,
> # Request r6 fails with NotLeader,
> # Request r7 fails with some other IOException
> # r6 is still keeping retrying and a retry of r7 succeeds with s1.
> Below are the suggested fix:
> - In SlidingWindow.Client, resetFirstSeqNum() should, but currently does not,
> clear the request map.
> - If a request is replied with NotLeaderException, it should not be removed
> from the request map until resetFirstSeqNum() above.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)