Skip to content

DynamoDB SDK Groovy 3 compatibility #1954

Open
@dimarzio

Description

@dimarzio

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.p3This is a minor priority issuethird-partyThis issue is related to third-party libraries or applications.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions