sodonnel commented on PR #6385:
URL: https://github.com/apache/ozone/pull/6385#issuecomment-2010323242

   > Why not just introduce an object generation field and expose this API (in 
the future for applications itself). Reference: 
https://cloud.google.com/storage/docs/json_api/v1/objects/update
   > Parameter Name     Value   Description
   > **Optional query parameters**              
   > generation         long    If present, selects a specific revision of this 
object (as opposed to the latest version, the default).
   > ifGenerationMatch  long    Makes the operation conditional on whether the 
object's current generation matches the given value. Setting to 0 makes the 
operation succeed only if there are no live versions of the object.
   > ifGenerationNotMatch       long    Makes the operation conditional on 
whether the object's current generation does not match the given value. If no 
live object exists, the precondition fails. Setting to 0 makes the operation 
succeed only if there is a live version of the object.
   > ifMetagenerationMatch      long    Makes the operation conditional on 
whether the object's current metageneration matches the given value.
   > ifMetagenerationNotMatch   long    Makes the operation conditional on 
whether the object's current metageneration does not match the given value.
   > overrideUnlockedRetention  boolean         Applicable for object's that 
have an unlocked retention configuration: Required to be set to true if the 
operation includes a retention property that changes the mode to Locked, 
reduces the retainUntilTime, or removes the retention configuration from the 
object.
   
   I think it would be possible to extend to this in the future, but it may 
need more thought about what all operations it impacts. Implementing this sort 
of generic approach probably needs to cover key delete and create (overwrite) 
at least. Perhaps move / rename too. We would need to think through what it 
would mean for FSO buckets (perhaps nothing different, but I have not given it 
deep thought).
   
   The workings of the proposed solution here is hidden behind the new 
overwriteKey API on the bucket object, and that is the only external API I have 
changed. If we were able to get the generation concept added, the overwrite key 
could be changed to use it and further enhance this sort of feature.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to