RanaPriyansh opened a new pull request, #857:
URL: https://github.com/apache/arrow-rs-object-store/pull/857

   # Which issue does this PR close?
   
   Closes #851.
   
   # Rationale for this change
   
   S3 and GCS list failures currently return `Generic` for HTTP statuses that 
other operations map to specific error variants.
   
   # What changes are included in this PR?
   
   Route list request failures through the existing `RetryError::error` mapper. 
Retain the request prefix as the error path and preserve `RetryError` as the 
source.
   
   Add local HTTP mock tests for both providers. The tests cover collected list 
streams, delimiter lists, 401 responses, valid empty results, and unmapped 500 
responses.
   
   Recorded local runs passed `cargo test --features aws,gcp --lib` (231 
tests), ordinary `cargo test`, formatting, and strict all-features/all-targets 
Clippy.
   Default tests emitted four integration-macro warnings. External cloud 
integration tests and remote CI were not run.
   
   Production-target Clippy checks also passed separately with `aws-base` and 
`gcp-base`, without default features.
   A supplemental all-targets check without reqwest failed. The exact baseline 
produced the same existing errors.
   
   AI assistance produced the implementation, tests, and draft text. An 
independent AI review inspected the diff and logs.
   
   # Are there any user-facing changes?
   
   S3 and GCS list request failures use these existing error mappings:
   
   - 401: `Unauthenticated`
   - 403: `PermissionDenied`
   - 404: `NotFound`
   - 304: `NotModified`
   - 409: `AlreadyExists`
   - 412: `Precondition`
   
   Other statuses remain `Generic`. Error text can change because the mapper 
preserves `RetryError` directly instead of the private list-request wrapper.
   
   Error paths contain the actual request prefix. Public `Path("prefix")` list 
calls report `"prefix/"`. Bucket-root calls report an empty path.
   Raw paginated-list prefixes remain unchanged. No public API signatures 
change.
   


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