[
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)