aws / aws/aws-sdk-java-v2

DynamoDB SDK Groovy 3 compatibility

Open
#1,954 2 comments 4 reactions 0 assignees View on GitHub
feature-request p3 third-party
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

Unfortunately the dynamodb-sdk version 1.* and also version 2.* is no longer compatible with Groovy 3.*

## Describe the Feature
It would be great if the dynamodb SDK was compatible with Groovy 3.

## Is your Feature Request related to a problem?
Yes. Detailed description see here: https://issues.apache.org/jira/browse/GROOVY-9636. Generally speaking it is no longer possible to model DynamoDB beans using Groovy 3.*. Because every object created in groovy environment is a subclass of GroovyObject it inherit all methods from it's parent. These are for example getMetaClass/setMetaClass properties. These methods will be recognized as a dynamodb bean property and the exception will be thrown.

## Proposed Solution
The GroovyObject "internal" methods are annotated with **Internal** annotation. So this additional check would solve the problem. The responsibility is in the JDK 1.* the StandardBeanProperties.BeanMap#canMap class and in the SDK 2.* BeanTableSchema#isMappableProperty class

## Describe alternatives you've considered
A possible workaround is to stick with the Groovy 2.* version(s).

## Additional Context
No additional context. Maybe the only question: Does it make sense to introduce a hard dependency on a particular JVM language.

## Your Environment

* AWS Java SDK version used: 1.11.820 and 2.13.54
* JDK version used: OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10)
* Operating System and version: Mac OS 10.14.6

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.