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

   Thanks, I updated this to be more conservative.
   
   The object-store path now only proceeds without listing when safety can be 
proven by direct reads plus a no-overwrite snapshot write. If the metadata 
state is missing, stale, ambiguous, or needs recovery, it falls back to the 
list-based path. If `ListBucket` is not available, it fails closed with an 
explicit message explaining why listing or restoring `LATEST` / `EARLIEST` is 
required.
   
   This also preserves the stale-snapshot conflict guard: snapshot metadata is 
written with no-overwrite semantics, and an existing `snapshot-N` is treated as 
a conflict/verification path rather than being overwritten.
   
   Added tests for:
   - missing / stale / invalid `LATEST` and `EARLIEST`
   - list-based recovery when listing is available
   - fail-closed behavior when listing is denied
   - no-overwrite conflicts, including Hadoop `FileAlreadyExistsException`
   - readable/unreadable future snapshot corner cases
   - retry wiring through `FileStoreCommitImpl`
   
   Validation:
   - `RenamingSnapshotCommitTest`, `HintFileUtilsTest`, selected 
`FileStoreCommitTest`: 110 tests passed
   - `S3FileIOTest`: 6 tests passed
   - `spotless:check` passed
   - `git diff --check` passed
   - Ceph RGW smoke verified the no-`ListBucket` fail-closed path on a real RGW 
endpoint


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