S3 DeleteObjects Key Validation Fix #3832
Closed
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.
Description
Modified the S3 client's
DeleteObjects
operation to properly handle invalid keys in batch delete requests. Instead of failing the entire operation when any single key is invalid, the client now skips invalid keys and proceeds with deleting valid objects. If all keys in a request are invalid, a clear exception is thrown with an appropriate message.Motivation and Context
Addresses open issue #3828
This change is required because the current implementation prevents valid keys from being deleted when any key in the batch is invalid (e.g., too long). The S3 DeleteObjects API is designed to support partial successes, but the client-side validation was preventing this behavior by throwing an
AmazonS3Exception
before the request reached the service.This fix allows the DeleteObjects operation to behave as expected, processing all valid keys even when some invalid keys are present in the same batch.
Testing
The changes were tested with the following scenarios:
Screenshots (if appropriate)
Types of changes
Checklist
License