[ 
https://issues.apache.org/jira/browse/IGNITE-19034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Amelchev reassigned IGNITE-19034:
----------------------------------------

    Assignee: Nikita Amelchev

> VisorSnapshotStatusTask returns empty result for restoring snapshot until 
> snapshot check is completed
> -----------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-19034
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19034
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Ilya Shishkov
>            Assignee: Nikita Amelchev
>            Priority: Minor
>              Labels: iep-43, ise
>         Attachments: SnapshotStatusReproducerTest.patch
>
>
> Currently, snapshot check is performed under the hood during restoring of a 
> snapshot. For big snapshots check operation execution can take a long time.
> In such case, if you call two similar commands, they will return different 
> results:
> Deprecated command _restore --status_ shows, that snapshot operation is in 
> progress:
> {noformat}
> Command [SNAPSHOT] started
> Arguments: --snapshot restore test_snapshot --status 
> --------------------------------------------------------------------------------
> Command deprecated. Use '--snapshot status' instead.
> Snapshot cache group restore operation is running [snapshot=test_snapshot]
> Command [SNAPSHOT] finished with code: 0
> {noformat}
> But actual command _--snapshot status_ does not show that any snapshot 
> operation is running:
> {noformat}
> Command [SNAPSHOT] started
> Arguments: --snapshot status 
> --------------------------------------------------------------------------------
> There is no create or restore snapshot operation in progress.
> Command [SNAPSHOT] finished with code: 0
> {noformat}
> {{VisorSnapshotStatusTask.java}} rely on snapshot restore metrics[1]. This 
> metrics are extracted from {{SnapshotRestoreProcess#lastOpCtx}} [2], which is 
> updated in {{SnapshotRestoreProcess#prepare}} [3], _but this method called 
> after snapshot check is finished_ [4, 5].
> Here is a reproducer: [^SnapshotStatusReproducerTest.patch] 
> Links:
> # 
> https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/visor/snapshot/VisorSnapshotStatusTask.java#L141
> # 
> https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L245
> # 
> https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L670
> # 
> https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L414
> # 
> https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L205



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

Reply via email to