venkateshwaracholan opened a new pull request, #4805: URL: https://github.com/apache/polaris/pull/4805
## Summary Fixes #4804 While working with the S3 testcontainer integrations, I noticed that both `MinioAccess` and `RustfsAccess` contained the same S3 access API definitions along with identical default implementations of `s3put()`. Since these interfaces were effectively copies of one another, any future change would need to be applied in two places, increasing maintenance effort and creating a risk of the implementations drifting apart over time. This refactoring extracts the shared functionality into a new `S3TestcontainerAccess` interface within `polaris-container-spec-helper`. The common S3 access contract and default `s3put()` implementation now live in a single location, while `MinioAccess` and `RustfsAccess` simply extend the shared interface. The change removes duplicated code, improves maintainability, and keeps the existing API and runtime behavior unchanged. ### What Changed * Added a new shared `S3TestcontainerAccess` interface. * Moved the common S3 access methods and default `s3put()` implementation into the shared interface. * Updated `MinioAccess` to extend `S3TestcontainerAccess`. * Updated `RustfsAccess` to extend `S3TestcontainerAccess`. * Added the required module dependencies for the shared abstraction. * Updated copied-code attribution documentation to reflect the refactoring. ### Compatibility This is a refactoring-only change with no functional impact. * No production code is affected. * No public APIs have changed. * Existing tests and downstream integrations can continue using `MinioAccess` and `RustfsAccess` without modification. * Runtime behavior remains the same. ## Checklist - [ ] ๐ก๏ธ Don't disclose security issues! (contact [email protected]) - [ ] ๐ Clearly explained why the changes are needed, or linked related issues: Fixes # - [ ] ๐งช Added/updated tests with good coverage, or manually tested (and explained how) - [ ] ๐ก Added comments for complex logic - [ ] ๐งพ Updated `CHANGELOG.md` (if needed) - [ ] ๐ Updated documentation in `site/content/in-dev/unreleased` (if needed) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
