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)