Refactor --list-existing object listing logic#434
Merged
klauspost merged 1 commit intominio:masterfrom Dec 18, 2025
Merged
Conversation
8 tasks
Extract duplicate object listing code from delete.go, get.go, and stat.go into a shared listExistingObjects method in Common. This reduces code duplication by ~150 lines and centralizes listing behavior, making future maintenance and bug fixes easier. The new ListObjectsConfig struct allows each benchmark type to configure listing behavior (version handling, zero-size filtering, shuffling) while sharing the core implementation.
d1df6e7 to
2305616
Compare
klauspost
approved these changes
Dec 3, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Community Contribution License
All community contributions in this pull request are licensed to the project maintainers
under the terms of the Apache 2 license.
By creating this pull request I represent that I have the right to license the
contributions to the project maintainers under the Apache 2 license.
Description
Extracts duplicate object listing code from delete.go, get.go, and stat.go into a shared listExistingObjects method in Common. This reduces code duplication by ~150 lines and centralizes listing behavior, making future maintenance and bug fixes easier.
The new ListObjectsConfig struct allows each benchmark type to configure listing behavior (version handling, zero-size filtering, shuffling) while sharing the core implementation.
Motivation and Context
This increase in maintainability from refactoring applies to everyone, but specifically, If anyone wanted to carry a patch relating to prefixes (see discussion in #432), having listing logic consolidated makes that easier.
How to test this PR?
Basic regression testing of --list-existing behavior for the get, delete, and stat commands.
Types of changes
Checklist:
commit-idorPR #here)