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

Kirill Tkalenko commented on IGNITE-24314:
------------------------------------------

In IGNITE-24273, the race between applying commands (tasks) to the state 
machine and deciding to create a snapshot was not fully fixed. 
If we look at 
*org.apache.ignite.raft.jraft.storage.snapshot.SnapshotExecutorImpl#doSnapshot(org.apache.ignite.raft.jraft.Closure,
 boolean)* (line 294), there is a comment that a false positive is possible due 
to the *this.fsmCaller.getLastAppliedIndex() == this.lastSnapshotIndex* 
condition due to updating  
*org.apache.ignite.raft.jraft.FSMCaller#getLastAppliedIndex* at the end of all 
commands (tasks). 
So to avoid this, it was necessary to add a wait for the 
*FSMCaller#getLastAppliedIndex* update for the count of commands (tasks) added.

> ItNodeTest.testInstallSnapshotWithThrottle is flaky
> ---------------------------------------------------
>
>                 Key: IGNITE-24314
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24314
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexander Lapin
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> ItNodeTest.testInstallSnapshotWithThrottle sometimes fails with 
> {code:java}
> org.opentest4j.AssertionFailedError: expected: <2> but was: <1>  at 
> app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
>   at 
> app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
>   at 
> app//org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)  
> at 
> app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)  
> at 
> app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)  
> at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:531)  
> at 
> app//org.apache.ignite.raft.jraft.core.ItNodeTest.triggerLeaderSnapshot(ItNodeTest.java:4648)
>   at 
> app//org.apache.ignite.raft.jraft.core.ItNodeTest.testInstallSnapshotWithThrottle(ItNodeTest.java:2108)
>  {code}
> [TC failure 
> link|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8813973]
>  
> Likely it's related to https://issues.apache.org/jira/browse/IGNITE-24273



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to