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]
