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]