You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Steshin (Jira)" <ji...@apache.org> on 2022/12/01 16:15:00 UTC

[jira] [Updated] (IGNITE-18313) Delete snapshot on error in the snapshot thread pool.

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

Vladimir Steshin updated IGNITE-18313:
--------------------------------------
    Description: 
We delete snapshot in `_IgniteSnapshotManager.initLocalSnapshotEndStage()`_ if a snapshot creation error occurred:

{code:java}
if (req.error() != null) {
    snpReq.error(req.error());

    deleteSnapshot(snapshotLocalDir(req.snapshotName(), req.snapshotPath()), pdsSettings.folderName());
}
{code}

This call is performed in _GridDiscoveryManager_'s thread, "_disco-notifier-worker-..._". 
Probably, it is better to use the snapshot pool for snapshot-related I/O operations `_IgniteSnapshotManager.snapshotExecutorService()_`. This would help not to stop other processings of various discovery events.

  was:
We delete snapshot in `_IgniteSnapshotManager.initLocalSnapshotEndStage()`_ if a snapshot creation error occurred:

{code:java}
if (req.error() != null) {
    snpReq.error(req.error());

    deleteSnapshot(snapshotLocalDir(req.snapshotName(), req.snapshotPath()), pdsSettings.folderName());
}
{code}

This call is performed in _GridDiscoveryManager_'s thread, "_disco-notifier-worker-..._". 
Probably, it is better to use the snapshot pool for snapshot-related I/O operations `_IgniteSnapshotManager.snapshotExecutorService()_`. This would help not to stop other processing of various discovery events.


> Delete snapshot on error in the snapshot thread pool.
> -----------------------------------------------------
>
>                 Key: IGNITE-18313
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18313
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladimir Steshin
>            Priority: Minor
>
> We delete snapshot in `_IgniteSnapshotManager.initLocalSnapshotEndStage()`_ if a snapshot creation error occurred:
> {code:java}
> if (req.error() != null) {
>     snpReq.error(req.error());
>     deleteSnapshot(snapshotLocalDir(req.snapshotName(), req.snapshotPath()), pdsSettings.folderName());
> }
> {code}
> This call is performed in _GridDiscoveryManager_'s thread, "_disco-notifier-worker-..._". 
> Probably, it is better to use the snapshot pool for snapshot-related I/O operations `_IgniteSnapshotManager.snapshotExecutorService()_`. This would help not to stop other processings of various discovery events.



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