You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Song Ziyang (Jira)" <ji...@apache.org> on 2024/05/10 08:24:00 UTC
[jira] [Commented] (RATIS-2084) IllegalStateException when install snapshot from leader
[ https://issues.apache.org/jira/browse/RATIS-2084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17845244#comment-17845244 ]
Song Ziyang commented on RATIS-2084:
------------------------------------
[~szetszwo] could you please take a look at this issue?
Shall we enforce the client to clear out for the failed reconfiguration request before retry, or we modify the install-snapshot to allow leader recover the correct next-index under this situation?
> IllegalStateException when install snapshot from leader
> -------------------------------------------------------
>
> Key: RATIS-2084
> URL: https://issues.apache.org/jira/browse/RATIS-2084
> Project: Ratis
> Issue Type: Bug
> Components: gRPC, snapshot
> Affects Versions: 3.0.1
> Reporter: Song Ziyang
> Priority: Major
> Attachments: image-2024-05-10-16-12-25-436.png
>
>
> !image-2024-05-10-16-12-25-436.png|width=888,height=376!
>
> The event sequence that triggered IllegalStateException:
> # Raft Group (A, B, C) with leader A.
> # Client cli adds a new Peer D to the group.
> # Leader A sends snapshot and logs to D, and peer D is successfully bootstrapped.
> # The configuration change log (A,B,C,D) is *NOT* committed while B timeouts, starts an election, becomes the new leader.
> # Client cli re-send the add-peer-D request to the newly elected leader B.
> # B thoughts the D is a new peer with next-index = 0, tries to send the snapshot to D. D already had the snapshot, so the IllegalStateException occurred.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)