You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Lokesh Jain (Jira)" <ji...@apache.org> on 2019/09/03 10:26:00 UTC
[jira] [Commented] (RATIS-661) Add call in state machine to handle
group removal
[ https://issues.apache.org/jira/browse/RATIS-661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16921316#comment-16921316 ]
Lokesh Jain commented on RATIS-661:
-----------------------------------
[~szetszwo] Thanks for reviewing and committing the patch!
| getGroupInfos covers groupExists, although it will fail with GroupMismatchException when a group does not exist.
I mean an api which can tell that the group is in Closing or Closed state. We can do it using the StateMachine#notifyGroupRemove api but I was thinking if we could add this functionality in the RaftServer class? If the api returns null then group does not exist in any state in the raft server.
> Add call in state machine to handle group removal
> -------------------------------------------------
>
> Key: RATIS-661
> URL: https://issues.apache.org/jira/browse/RATIS-661
> Project: Ratis
> Issue Type: New Feature
> Components: API
> Reporter: Lokesh Jain
> Assignee: Lokesh Jain
> Priority: Major
> Fix For: 0.4.0
>
> Attachments: RATIS-661.001.patch, RATIS-661.002.patch, RATIS-661.003.patch, RATIS-661.004.patch, RATIS-661.005.patch
>
>
> Currently during RaftServerProxy#groupRemoveAsync there is no way for stateMachine to know that the RaftGroup will be removed. This Jira aims to add a call in the stateMachine to handle group removal.
> It also changes the logic of groupRemoval api to remove the RaftServerImpl from the RaftServerProxy#impls map after the shutdown is complete. This is required to synchronize the removal with the corresponding api of RaftServer#getGroupIds. RaftServer#getGroupIds uses the RaftServerProxy#impls map to get the groupIds.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)