hhhizzz commented on PR #8263:
URL: https://github.com/apache/paimon/pull/8263#issuecomment-4747891546

   Thanks for catching this.The previous object-store branch could skip the 
stale snapshot guard and overwrite an existing `snapshot-N`.
   
   I updated the PR to keep the no-overwrite conflict signal without requiring 
`ListBucket`:
   
   - object stores still skip `exists(snapshot-N)`
   - `snapshot-N` is written with no-overwrite semantics
   - S3 uses `If-None-Match: *` for that write
   - `412 PreconditionFailed` is mapped to `FileAlreadyExistsException`, so the 
commit returns `false` and retries instead of overwriting
   
   Added regression tests for the stale commit conflict path and S3 412 
handling.
   
   Verified with focused Maven tests, and with Ceph RGW using a temporary user 
without `ListBucket`: first conditional PUT succeeds, second returns 412, and 
the original object is preserved.


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

Reply via email to