yuuka created RATIS-2149:
----------------------------
Summary: 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: Wish
Reporter: yuuka
Attachments: image-2024-09-03-17-41-41-872.png,
image-2024-09-03-18-13-50-628.png
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)