[ 
https://issues.apache.org/jira/browse/RATIS-563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16849533#comment-16849533
 ] 

Mukul Kumar Singh commented on RATIS-563:
-----------------------------------------

Thanks for the explaination [~szetszwo]. I looked into the ServerState#initLog 
and I can only see that commitIndex is being updated only when a 
getMetadataEntry is found. I feel that in case no metadata entry is found, we 
should set it to lastSnapshotIndex.

{code}
    Optional.ofNullable(lastMetadataEntry).ifPresent(
        e -> commitIndex.updateToMax(e.getMetadataEntry().getCommitIndex(), 
infoIndexChange));
{code}

> Purge logs after snapshot only after all the nodes have catught up with the 
> index
> ---------------------------------------------------------------------------------
>
>                 Key: RATIS-563
>                 URL: https://issues.apache.org/jira/browse/RATIS-563
>             Project: Ratis
>          Issue Type: Bug
>          Components: snapshot
>    Affects Versions: 0.3.0
>            Reporter: Mukul Kumar Singh
>            Assignee: Tsz Wo Nicholas Sze
>            Priority: Major
>         Attachments: r563_20190522.patch, r563_20190524.patch, 
> r563_20190528.patch, r563_20190528b.patch
>
>
> Leader will purge the snapshot after applying a transaction. A transaction is 
> applied after a majority has been reached. This means that a slow follower 
> will request for a transaction which has already been purged and for this 
> transaction to catchup the leader has to transfer the snapshot. This can be 
> detrimental for the performance while replicating.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to