Skip to content

Conversation

afranken
Copy link
Member

@afranken afranken commented Jul 6, 2025

Description

Related Issue

#2502

Tasks

  • I have signed the CLA.
  • I have written tests and verified that they fail without my change.

afranken added 3 commits July 4, 2025 17:30
Overlooked the potential NPE here...
Make them a bit easier to read.
@afranken afranken requested a review from Copilot July 6, 2025 14:39
Copilot

This comment was marked as outdated.

@afranken afranken force-pushed the code-optimizations branch from 5fa1cb1 to 2ba51da Compare July 6, 2025 14:48
@afranken afranken changed the title Code optimizations Fail PUT object with match on non-existent keys & code optimizations Jul 6, 2025
@afranken afranken self-assigned this Jul 6, 2025
@afranken afranken requested a review from Copilot July 6, 2025 14:49
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements correct failure behavior for PUT requests with If-Match on non-existent keys, cleans up unused imports and tooling configs, updates Kotlin compiler settings, refactors test support for stability, and bumps the version to 4.6.0-SNAPSHOT.

  • Enforce NO_SUCH_KEY exception when If-Match is used on missing objects in ObjectService
  • Added integration tests for if-match/if-none-match PUT semantics and fixed storage-class test enumeration
  • Bumped project version and Kotlin compiler api/language levels, updated changelog, and removed unused imports

Reviewed Changes

Copilot reviewed 23 out of 24 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
testsupport/*/pom.xml Bumped snapshot versions to 4.6.0-SNAPSHOT
testsupport/common/src/.../S3MockStarter.java and DigestUtil.java Removed unused @NonNull imports
server/src/.../StoreConfiguration.java Switched to mockRegion.id() for bucket creation
server/src/.../ObjectService.java Throw NO_SUCH_KEY when matching non-existent objects and refactored conditions
server/src/.../S3MockProperties.java Removed unused Region import
pom.xml (root) Updated Kotlin compiler settings for 2.2
integration-tests/src/.../*.kt Migrated Java-style annotations to Kotlin annotation class and added PUT tests
integration-tests/src/.../S3TestBase.kt Replaced dynamic StorageClass stream with fixed list
Makefile Added build, verify, and install targets
CHANGELOG.md Advanced planned release to 4.7.0, added 4.6.0 release notes
Comments suppressed due to low confidence (2)

pom.xml:24

  • The CHANGELOG shows '4.7.0 - PLANNED', but the POM is set to 4.6.0-SNAPSHOT. Consider bumping the project version to 4.7.0-SNAPSHOT to match the planned release.
  <version>4.6.0-SNAPSHOT</version>

pom.xml:86

  • The CHANGELOG indicates bumping aws-v2.version to 2.31.77, but this property is still 2.31.67. Update it to 2.31.77 for consistency.
    <aws-v2.version>2.31.67</aws-v2.version>

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@afranken afranken merged commit d73c105 into main Jul 6, 2025
6 checks passed
@afranken afranken deleted the code-optimizations branch July 6, 2025 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PutObject with IfMatch condition on etag succeeds instead of throwing NoSuchKeyException
1 participant