Skip to content

Fix prefix listings answered as GetBucketLocation and similar sub-resource calls - #174

Merged
ServerSideHannes merged 3 commits into
mainfrom
fix/list-prefix-matches-subresource
Nov 9, 2026
Merged

ServerSideHannes merged 3 commits into
mainfrom
fix/list-prefix-matches-subresource

Conversation

@ServerSideHannes

Copy link
Copy Markdown
Owner

Summary

Listing a bucket with a prefix that contains a word like location, versioning, uploads, delete or tagging (for example .../table/geocoded_locations/) no longer returns the wrong answer. The proxy now recognises these sub-resources only when they are real query parameters, so such listings return the object list. This fixed Scylla Manager restores failing with "file ... is not present in listed versioned files" for main.geocoded_locations.

After merge, the s3proxy image tag in argocd-system (src/services/s3proxy-python, currently 2026.8.1) needs bumping to the release containing this.

Changes

  • Request routing parses the query string and matches on parameter names instead of searching the raw string.
  • Metrics operation naming uses the same parameter-name matching, so these listings are labelled correctly.
  • Added a unit test covering prefixes that contain each sub-resource name, for V1 and V2 listings.

@ServerSideHannes
ServerSideHannes merged commit 18f63f7 into main Nov 9, 2026
11 checks passed
@ServerSideHannes
ServerSideHannes deleted the fix/list-prefix-matches-subresource branch November 9, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant