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)