[ https://issues.apache.org/jira/browse/RATIS-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz-wo Sze reassigned RATIS-2149: --------------------------------- Component/s: election Assignee: yuuka Issue Type: Improvement (was: Wish) > Do not perform leader election if the current RaftServer has not started yet > ---------------------------------------------------------------------------- > > Key: RATIS-2149 > URL: https://issues.apache.org/jira/browse/RATIS-2149 > Project: Ratis > Issue Type: Improvement > Components: election > Reporter: yuuka > Assignee: yuuka > Priority: Major > Attachments: image-2024-09-03-17-41-41-872.png, > image-2024-09-03-18-13-50-628.png > > Time Spent: 1h > Remaining Estimate: 0h > > Sometimes we cannot guarantee that the program will run normally in various > environments, and appropriate robustness enhancement may be necessary. > Before adding members, RaftServer S and the corresponding group will be > created if the group is not exist and find that the interval between these > two logs is more than one minute. > !image-2024-09-03-17-41-41-872.png! > > Since our RpcTimeout is small 1 minute, the retryPolicy has already started, > but S's groupId is already in the implMaps of RaftServerProxy, which will > throw AlreadyExistException. When we catch this exception, we assume that the > creation has been completed and the member change can be executed > > S is still in the initializing state, and this member change will not be > completed. Finally, we found that S started the election and received > NOT_IN_CONF reply, and then S will be closed > !image-2024-09-03-18-13-50-628.png! > > -- This message was sent by Atlassian Jira (v8.20.10#820010)