aws/aws-sdk-java-v2

DynamoDB EnhancedClient UpdateItem backwards incompatible change breaks workflows

phillipberndt opened this issue · 3 comments

Describe the bug

Hi,

we rely on being able to use update operations to create nested structures with the enhanced client. A recent change, #5380, broke this functionality. We now get a

software.amazon.awssdk.services.dynamodb.model.DynamoDbException: The document path provided in the update expression is invalid for update

exception.

We noticed this after the SDK was automatically updated for our service, that is, in a situation where people do not read changelogs to look out for breaking changes. Backwards incompatible changes without version bumps are not a great customer experience. Please consider reverting the change, and reintroducing it in a way that does not break existing code. (e.g. automatically inject a SET that creates maps if they do not exist, or put the entire functionality behind a flag that has to be explicitly toggled in the builder.)

Cheers,
Phillip

Expected Behavior

Existing code relying on being able to create document types in update operations continues to work

Current Behavior

Existing code relying on being able to create document types in update operations broke

Reproduction Steps

See the pull request, we rely exactly on the behavior this changed.

Possible Solution

Please consider reverting the change, and reintroducing it in a way that does not break existing code. (e.g. automatically inject a SET that creates maps if they do not exist, or put the entire functionality behind a flag that has to be explicitly toggled in the builder.)

Additional Information/Context

No response

AWS Java SDK version used

JDK version used

17

Operating System and version

Linux

@phillipberndt thank you for the report, we are reverting #5380 and will follow-up with an investigation.

Hi @phillipberndt,

Thanks again for reporting the issue. Closing this as the changes were reverted in SDK version 2.27.24.

Regards,
Chaitanya

This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.