You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Nikita Amelchev (Jira)" <ji...@apache.org> on 2023/06/07 15:07:00 UTC
[jira] [Assigned] (IGNITE-19034) VisorSnapshotStatusTask returns empty result for restoring snapshot until snapshot check is completed
[ 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)