Skip to content

ClassCastException using java SDK v2-migration recipe #6571

@janglada

Description

@janglada

Describe the bug

When running the Java SDK migration tool v1->v2 using gradle on jdk 25 fails with a ClassCastException

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

Expected the code to be migrated

Current Behavior

I get the following exception:

java.lang.RuntimeException: Error while visiting src/xxxxxx/MyS3Client.java: java.lang.ClassCastException: class org.openrewrite.java.tree.J$Empty cannot be cast to class org.openrewrite.java.tree.J$Identifier (org.openrewrite.java.tree.J$Empty and org.openrewrite.java.tree.J$Identifier are in unnamed module of loader org.openrewrite.gradle.RewriteClassLoader @3c52d4be)
    software.amazon.awssdk.v2migration.internal.utils.S3TransformUtils.getArgumentName(S3TransformUtils.java:173)
    software.amazon.awssdk.v2migration.S3PutObjectRequestToV2$Visitor.convertSetMetadataToBuilder(S3PutObjectRequestToV2.java:379)
    software.amazon.awssdk.v2migration.S3PutObjectRequestToV2$Visitor.visitMethodInvocation(S3PutObjectRequestToV2.java:117)
    software.amazon.awssdk.v2migration.S3PutObjectRequestToV2$Visitor.visitMethodInvocation(S3PutObjectRequestToV2.java:83)
    org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4275)
    org.openrewrite.java.tree.J.accept(J.java:55)
    org.openrewrite.TreeVisitor.visit(TreeVisitor.java:242)
    org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:309)
    org.openrewrite.java.JavaVisitor.visitReturn(JavaVisitor.java:1046)
    org.openrewrite.java.tree.J$Return.acceptJava(J.java:5330)
    org.openrewrite.java.tree.J.accept(J.java:55)
    org.openrewrite.TreeVisitor.visit(TreeVisitor.java:242)
    org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:309)
    org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
    org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
    org.openrewrite.internal.ListUtils.map(ListUtils.java:245)

Reproduction Steps

./gradlew -Dorg.gradle.jvmargs=-Xmx8G rewriteDryRun --init-script init.gradle \
  -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2

Possible Solution

No response

Additional Information/Context

No response

AWS Java SDK version used

v2-migration

JDK version used

25

Operating System and version

Apple M3 Max 26.0.1 (25A362)

Metadata

Metadata

Assignees

Labels

bugThis issue is a bug.migration-toolThis issue is about the Java SDK v1 to v2 Migration Tool.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions