[
https://issues.apache.org/jira/browse/IGNITE-18599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Timonin updated IGNITE-18599:
------------------------------------
Ignite Flags: (was: Docs Required,Release Notes Required)
> Incremental snapshot ID in tx thread might be skipped if previous hasn't
> finished yet
> -------------------------------------------------------------------------------------
>
> Key: IGNITE-18599
> URL: https://issues.apache.org/jira/browse/IGNITE-18599
> Project: Ignite
> Issue Type: Bug
> Reporter: Maksim Timonin
> Priority: Major
> Labels: IEP-89, ise
>
> Transactions could be included into incremental snapshot while is excluded on
> other nodes. Check this scenario:
> # Incremental snapshot (A) started, processed, and be prepared for finish.
> Coordinator sends FullMessage to clear snapshot resources (incSnpId,
> clusterSnpReq, etc) on all nodes.
> # Originated node (O) handles the FullMessage, clear resources for snapshot
> (A), and it is available to start new incremental snapshot.
> # User starts incremental snapshot (B) on this node (O), while other nodes
> (N) still did not receive the FullMessage.
> # Node (O) starts wrapping messages and send it (X) to node (N).
> # Node (N) skips handling received incSnpId from IncSnpAwareMessage, as it
> still has previous one.
> # Node (N) received the FullMessage, and clear resources for snp (A)
> # Node (N) received snapshot request for (B) by discovery.
> Then:
> # Snapshot (B) didn't fail, and consider as correct.
> # Transaction (X) on node (N) might miss transactions check required for
> incremental snapshot. Then Node (N) might include this transaction to
> snapshot (B) while other nodes might exclude it from this snapshot.
> There are some options to handle it:
> # IncSnpAwareMessage might check previous snapshot, and await it finished.
> # IncSnpAwareMessage might sign received ID as inconsistent, and after
> receiving a snapshot request - stop it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)