developmentseed / developmentseed/multistore
List operation should skip objects with invalid paths instead of returning 503
- Dominant language
- Rust
- Stars
- 19
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
When a backend bucket contains an object with an invalid key (e.g. `dynamical/asos-parquet//` — double slash / empty path segment), the list operation fails with a 503 ServiceUnavailable error:
```
backend error: Encountered object with invalid path: Path "dynamical/asos-parquet//" contained empty path segment
```
This makes the entire listing unusable even though only one object has a bad key.
## Expected behavior
The proxy should skip objects with invalid paths and return the remaining valid results. A warning log is appropriate, but the response should succeed.
## How to reproduce
List a bucket that contains an object key with an empty path segment (double slash):
```
aws s3 ls s3://dynamical/asos-parquet/ --endpoint https://data.source.coop
```
## Context
These invalid keys can be created by tools that accidentally add trailing or double slashes. The proxy shouldn't let one bad object break listing for an entire prefix.
Contributor guide
Assessment
This issue has not been assessed yet.