[
https://issues.apache.org/jira/browse/RATIS-2166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz-wo Sze resolved RATIS-2166.
-------------------------------
Fix Version/s: 3.2.0
Resolution: Fixed
The pull request is now merged. Thanks, [~tohsakarin__]!
> Update nextChunkIndex when snapshot is ALREADY_INSTALLED
> --------------------------------------------------------
>
> Key: RATIS-2166
> URL: https://issues.apache.org/jira/browse/RATIS-2166
> Project: Ratis
> Issue Type: Bug
> Components: snapshot
> Reporter: yuuka
> Assignee: yuuka
> Priority: Major
> Fix For: 3.2.0
>
> Attachments: image-2024-09-30-17-42-27-333.png
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> In #RATIS-2148, the issue of receiving the last snapshot file without
> considering the possibility of intermediate blocks failing was fixed, which
> resulted in the incorrect triggering of loadStateMachine.
> Some issues were missed in #RATIS-2148:
>
> For example, Leader L will send the following data to Follower F in the form
> of a snapshot: data [a, b, c,..., z].
> L will split the data into 0: [a, b, c, d], 1: [e, f, g, h],...
> F already contains data [a, b, c, d, e].
> F will reply with ALREADY_INSTALL after receiving data-0 and will not update
> nextChunkIndex.
>
> This will result in failure to receive subsequent data_chunk correctly.
>
> !image-2024-09-30-17-42-27-333.png!
> Need to update nextChunkIndex before returning:
> nextChunkIndex.set(snapshotChunkRequest.getRequestIndex() + 1);
--
This message was sent by Atlassian Jira
(v8.20.10#820010)