developmentseed / developmentseed/multistore

List operation should skip objects with invalid paths instead of returning 503

Open
#40 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.