fix(s3): prevent compliance retention downgrade - #2755
Conversation
|
🎉 Thanks for your first pull request to Floci! Your CI checks need a maintainer to approve them before they run. That is GitHub's standard gate on first-time contributors, not a problem with your PR — so if the checks look like they are doing nothing, that is why. Once a maintainer approves, CI and the compatibility suite start automatically. Nothing is needed from you in the meantime. While you wait, a couple of things that make review faster:
Come join us in Slack — it is the fastest way to reach maintainers if you get stuck, or want feedback on an approach before investing more time in it. |
|
| Filename | Overview |
|---|---|
| src/main/java/io/github/hectorvent/floci/services/s3/S3Service.java | Scopes immutable COMPLIANCE retention checks to unexpired retention periods while preserving mode and date updates after expiry. |
| src/test/java/io/github/hectorvent/floci/services/s3/S3ObjectLockIntegrationTest.java | Adds end-to-end coverage for allowed upgrades, prohibited active downgrades, persisted retention mode, and expired-retention mode changes. |
Reviews (2): Last reviewed commit: "fix(s3): allow updates after compliance ..." | Re-trigger Greptile
Summary
Testing
JAVA_HOME=/opt/homebrew/opt/openjdk@25/libexec/openjdk.jdk/Contents/Home ./mvnw test -Dtest=S3ObjectLockIntegrationTest(18 tests passed)Fixes #2598