Shilun Fan created RATIS-2662:
---------------------------------

             Summary: Make testKillLeaderDuringReconf deterministic
                 Key: RATIS-2662
                 URL: https://issues.apache.org/jira/browse/RATIS-2662
             Project: Ratis
          Issue Type: Bug
            Reporter: Shilun Fan
            Assignee: Shilun Fan


{{RaftReconfigurationBaseTest#testKillLeaderDuringReconf is currently
annotated with @Flaky("RATIS-2251").}}

{{}}

{{The test creates a new peer by calling addNewPeers(1, false).}}

{{{}{}}}{{{}{}}}

{{The new
server is initially created with an empty Raft configuration and is
expected to start in the initializing state.}}

{{}}

{{However, the test later starts the new peer by calling
restartServer(peerId, false). restartServer removes the previously
created server and recreates it using the current cluster.group, which
already contains the new peer in the target configuration.}}

{{}}

{{{}{}}}{{{}{}}}

{{As a result, the new peer starts as a regular voting follower instead
of an initializing peer. If its first election timeout occurs before
AppendEntries arrives from the leader, the new peer starts a PRE_VOTE
election. Since the leader's committed configuration does not contain
the new peer yet, the leader may return shouldShutdown=true, causing
the new peer to enter CLOSED.}}

{{}}

{{{}{}}}{{{}{}}}

{{{}The original test also ignores TimeoutException from the asynchronous
setConfiguration request and skips the final configuration check when
the new peer is CLOSED. Therefore, an incomplete reconfiguration may
either make the test flaky or be incorrectly treated as 
successful.{}}}{{{}{}}}{{{}{}}}

{{{}{}}}{{{}{}}}

{{ }}{{}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to