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

Siyao Meng updated HDDS-8420:
-----------------------------
    Description: 
SnapshotCache can be cleaned up when OM leader transitions to a follower. But 
not by simply calling {{snapshotCache.invalidateAll()}}.

Cache entries with zero refCount can be safely invalidated. However, it could 
happen that some instances are still in-use by:
1. running SnapshotDiff jobs that is not finished during leader to follower 
transition -- those jobs need to be cancelled/aborted
2. any unfinished client read or write requests against snapshots issued before 
the leader OM to follower OM transition
3. new Ratis requests reading or writing to snapshot DB, including 
{{OMSnapshotMoveDeletedKeysRequest}}

  was:
SnapshotCache can be cleaned up when OM leader transitions to a follower. But 
not by simply calling {{snapshotCache.invalidateAll()}}.

Cache entries with zero refCount can be safely invalidated. However, it could 
happen that some instances are still in-use by:
1. running SnapshotDiff jobs that is not finished during leader to follower 
transition -- those jobs need to be cancelled/aborted
2. any unfinished client read or write requests against snapshots before the 
leader OM to follower OM transition
3. new Ratis requests reading or writing to snapshot DB, including 
{{OMSnapshotMoveDeletedKeysRequest}}


> [Snapshot] Optionally purge SnapshotCache on OM (ex)leader when it 
> transitions to a follower
> --------------------------------------------------------------------------------------------
>
>                 Key: HDDS-8420
>                 URL: https://issues.apache.org/jira/browse/HDDS-8420
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Priority: Major
>
> SnapshotCache can be cleaned up when OM leader transitions to a follower. But 
> not by simply calling {{snapshotCache.invalidateAll()}}.
> Cache entries with zero refCount can be safely invalidated. However, it could 
> happen that some instances are still in-use by:
> 1. running SnapshotDiff jobs that is not finished during leader to follower 
> transition -- those jobs need to be cancelled/aborted
> 2. any unfinished client read or write requests against snapshots issued 
> before the leader OM to follower OM transition
> 3. new Ratis requests reading or writing to snapshot DB, including 
> {{OMSnapshotMoveDeletedKeysRequest}}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to