Description
With some discussion with Lokesh Jain (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.
Attachments
Attachments
Issue Links
- is related to
-
RATIS-499 Leader should close the sliding window if it steps down
- Resolved