apache / apache/polaris

Refactor duplicated S3 access interfaces into shared S3TestcontainerAccess

Open
#4,804 1 comment 0 reactions 0 assignees View on GitHub
enhancement stale
Dominant language
Java
Stars
2.1k
Forks
522
Avg merge
1d 22h
Merged PRs (30d)
137

Description

### Is your feature request related to a problem? Please describe.

The `MinioAccess` and `RustfsAccess` interfaces currently duplicate the same S3 access API definitions, including identical default implementations of `s3put()`. Since both interfaces provide the same behavior, maintaining separate copies introduces unnecessary duplication and increases the risk of inconsistencies over time.

Any future enhancement, bug fix, or API change to the S3 testcontainer support would need to be applied in two places, making maintenance more error-prone and increasing the likelihood of the implementations diverging. Consolidating the shared functionality into a common abstraction would reduce maintenance overhead, improve consistency, and make future updates easier to manage.

### Describe the solution you'd like

_No response_

### Describe alternatives you've considered

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Locate the MinioAccess and RustfsAccess interfaces in the S3 testcontainer support and compare their API definitions and s3put() defaults. Consolidate the duplicated behavior into a shared S3TestcontainerAccess abstraction, then verify that both access paths retain the same API and behavior using the relevant testcontainer tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.