You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Lokesh Jain (Jira)" <ji...@apache.org> on 2020/04/23 08:00:00 UTC
[jira] [Commented] (RATIS-801) Ratis snapshot should consider
stateMachine#appliedIndex for triggering snapshot
[ https://issues.apache.org/jira/browse/RATIS-801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17090371#comment-17090371 ]
Lokesh Jain commented on RATIS-801:
-----------------------------------
{code:java}
private void takeSnapshot() {
...
final long appliedIndex = getLastAppliedIndex();
if (i > appliedIndex) {
throw new StateMachineException(
"Bug in StateMachine: snapshot index = " + i + " > appliedIndex = " + appliedIndex
+ "; StateMachine class=" + stateMachine.getClass().getName() + ", stateMachine=" + stateMachine);
}
{code}
We should use stateMachineLastAppliedIndex in this function as well.
> Ratis snapshot should consider stateMachine#appliedIndex for triggering snapshot
> --------------------------------------------------------------------------------
>
> Key: RATIS-801
> URL: https://issues.apache.org/jira/browse/RATIS-801
> Project: Ratis
> Issue Type: Improvement
> Affects Versions: 0.5.0
> Reporter: Shashikant Banerjee
> Assignee: Bharat Viswanadham
> Priority: Major
> Fix For: 0.6.0
>
>
> Currently, while triggering snapshot, snapshotUpdater#appliedIndex is taken into account to decide whether it has exceeded the snapshot threshold from the last snapshotIndex. This may lead to creating more snapshots than usual as stateMachineUpdater#appliedIndex is updated as soon as the applyTransaction call happens. Ideally, Ratis snapshot should not be triggered taking stateMachine's applied index into account.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)