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

ASF GitHub Bot updated HDDS-16060:
----------------------------------
    Labels: pull-request-available  (was: )

> Prevent snapshots and Object Versioning from coexisting on the same bucket 
> until fixed
> --------------------------------------------------------------------------------------
>
>                 Key: HDDS-16060
>                 URL: https://issues.apache.org/jira/browse/HDDS-16060
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>              Labels: pull-request-available
>
> HDDS-15728 defers snapshot interaction beyond the first implementation phase 
> and states that Object Versioning and Ozone Snapshots are not expected to be 
> used together on the same bucket until that work lands.
> This restriction is currently documented but not enforced.
> h2. Proposal
> Until version-aware snapshot lookup and reclamation (GC) are implemented, OM 
> shall enforce mutual exclusion between snapshots and Object Versioning for a 
> bucket (and optionally add a dev flag to allow it solely for testing):
>  * Reject CreateSnapshot when the resolved source bucket has 
> BucketVersioningStatus ENABLED or SUSPENDED.
>  * Reject a transition from UNVERSIONED into a versioned state when the 
> bucket's snapshot path chain is non-empty.
>  * Reject SUSPENDED -> ENABLED while snapshots remain.
>  * Allow ENABLED -> SUSPENDED for an already inconsistent mixed-state bucket 
> so that new version creation can be stopped.
>  * Treat SNAPSHOT_DELETED snapshots that have not yet been purged from the 
> path chain as present.
>  * Resolve linked buckets and apply the check to the source bucket.
>  * If OM encounters a pre-existing mixed state, snapshot-aware key 
> reclamation must fail closed: retain the deleted version and do not send its 
> blocks to SCM.
>  * Once the final snapshot is purged from the path chain, versioning may be 
> enabled/resumed and retained deletion work may proceed.
> Return NOT_SUPPORTED_OPERATION with a message explaining that snapshot/Object 
> Versioning coexistence is not supported until snapshot-aware version 
> reclamation is available.



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