[
https://issues.apache.org/jira/browse/RATIS-499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16795267#comment-16795267
]
Lokesh Jain commented on RATIS-499:
-----------------------------------
[~szetszwo] Thanks for working on this! The patch looks good to me. Please find
my comments below.
# GrpcClientProtocolClient#orderedStreamObservers - This should be updated
when the existing orderedStreamObserver is closed.
# In GrpcClientProtocolService, we are handling the case where leader
shutsdown. I think we also need to handle the case for a non-leader receiving
these requests. For a non-leader this stream observer will be active because
client can send requests to any server. Further there can be read requests to
server. Therefore the non-leader can have certain requests in its sliding
window which can be applied out of order if this non-leader becomes leader.
Therefore I was thinking if we should reset server sliding window every time
the reply is sent with NotLeaderException set?
> Server should close the sliding window if it steps down
> -------------------------------------------------------
>
> Key: RATIS-499
> URL: https://issues.apache.org/jira/browse/RATIS-499
> Project: Ratis
> Issue Type: Bug
> Components: gRPC, server
> Reporter: Tsz Wo Nicholas Sze
> Assignee: Tsz Wo Nicholas Sze
> Priority: Major
> Attachments: r499_20190314.patch, r499_20190318.patch,
> r499_20190318b.patch
>
>
> The situation described in RATIS-459 is still possible if a server is not
> restarted. A simple solution is to close the sliding window if there is a
> NotLeaderException. indeed, we should close all client connections when a
> leader steps down.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)