-
Notifications
You must be signed in to change notification settings - Fork 933
Closed
Labels
bugThis issue is a bug.This issue is a bug.closed-for-stalenessp2This is a standard priority issueThis is a standard priority issue
Description
Describe the bug
We did an update of AWS SDK2 over the weekend from 2.31.57 to 2.31.60.
After that, we were not able to authenticate against AWS RDS services anymore. After rolling back to .57 it worked again.
These were the dependencies in question:
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>rds</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sts</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>auth</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
Regression Issue
- Select this option if this issue appears to be a regression.
Expected Behavior
Authentication works like in .57
Current Behavior
Error:
...
ClassNotFoundException: software.amazon.awssdk.awscore.auth.AuthSchemePreferenceResolver
Stack trace:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'credentialsProvider' defined in class path resource [io/awspring/cloud/autoconfigure/core/CredentialsProviderAutoConfiguration.class]: Failed to instantiate [software.amazon.awssdk.auth.credentials.AwsCredentialsProvider]: Factory method 'credentialsProvider' threw exception with message: software/amazon/awssdk/awscore/auth/AuthSchemePreferenceResolver
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:657) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:489) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1375) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1205) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) ~[spring-context-6.2.7.jar:6.2.7]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.7.jar:6.2.7]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.5.0.jar:3.5.0]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) ~[spring-boot-3.5.0.jar:3.5.0]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.5.0.jar:3.5.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.5.0.jar:3.5.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1362) ~[spring-boot-3.5.0.jar:3.5.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1351) ~[spring-boot-3.5.0.jar:3.5.0]
at com.xxx.cc.csvbe.MainSpringBootApplicationKt.main(MainSpringBootApplication.kt:42) ~[classes/:?]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.5.0.jar:3.5.0]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [software.amazon.awssdk.auth.credentials.AwsCredentialsProvider]: Factory method 'credentialsProvider' threw exception with message: software/amazon/awssdk/awscore/auth/AuthSchemePreferenceResolver
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:199) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-6.2.7.jar:6.2.7]
... 24 more
Caused by: java.lang.NoClassDefFoundError: software/amazon/awssdk/awscore/auth/AuthSchemePreferenceResolver
at software.amazon.awssdk.services.sts.DefaultStsBaseClientBuilder.defaultAuthSchemeProvider(DefaultStsBaseClientBuilder.java:136) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsBaseClientBuilder.lambda$mergeServiceDefaults$0(DefaultStsBaseClientBuilder.java:73) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.utils.builder.SdkBuilder.applyMutation(SdkBuilder.java:61) ~[utils-2.29.52.jar:?]
at software.amazon.awssdk.core.client.config.SdkClientConfiguration.merge(SdkClientConfiguration.java:98) ~[sdk-core-2.29.52.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsBaseClientBuilder.mergeServiceDefaults(DefaultStsBaseClientBuilder.java:71) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.awscore.client.builder.AwsDefaultClientBuilder.mergeChildDefaults(AwsDefaultClientBuilder.java:137) ~[aws-core-2.29.52.jar:?]
at software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198) ~[sdk-core-2.29.52.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsClientBuilder.buildClient(DefaultStsClientBuilder.java:36) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsClientBuilder.buildClient(DefaultStsClientBuilder.java:25) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:169) ~[sdk-core-2.29.52.jar:?]
at io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration$StsCredentialsProviderFactory.create(CredentialsProviderAutoConfiguration.java:158) ~[spring-cloud-aws-autoconfigure-3.3.1.jar:3.3.1]
at io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration.createCredentialsProvider(CredentialsProviderAutoConfiguration.java:108) ~[spring-cloud-aws-autoconfigure-3.3.1.jar:3.3.1]
at io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration.credentialsProvider(CredentialsProviderAutoConfiguration.java:75) ~[spring-cloud-aws-autoconfigure-3.3.1.jar:3.3.1]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-6.2.7.jar:6.2.7]
... 24 more
Caused by: java.lang.ClassNotFoundException: software.amazon.awssdk.awscore.auth.AuthSchemePreferenceResolver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
at software.amazon.awssdk.services.sts.DefaultStsBaseClientBuilder.defaultAuthSchemeProvider(DefaultStsBaseClientBuilder.java:136) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsBaseClientBuilder.lambda$mergeServiceDefaults$0(DefaultStsBaseClientBuilder.java:73) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.utils.builder.SdkBuilder.applyMutation(SdkBuilder.java:61) ~[utils-2.29.52.jar:?]
at software.amazon.awssdk.core.client.config.SdkClientConfiguration.merge(SdkClientConfiguration.java:98) ~[sdk-core-2.29.52.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsBaseClientBuilder.mergeServiceDefaults(DefaultStsBaseClientBuilder.java:71) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.awscore.client.builder.AwsDefaultClientBuilder.mergeChildDefaults(AwsDefaultClientBuilder.java:137) ~[aws-core-2.29.52.jar:?]
at software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198) ~[sdk-core-2.29.52.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsClientBuilder.buildClient(DefaultStsClientBuilder.java:36) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.services.sts.DefaultStsClientBuilder.buildClient(DefaultStsClientBuilder.java:25) ~[sts-2.31.60.jar:?]
at software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:169) ~[sdk-core-2.29.52.jar:?]
at io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration$StsCredentialsProviderFactory.create(CredentialsProviderAutoConfiguration.java:158) ~[spring-cloud-aws-autoconfigure-3.3.1.jar:3.3.1]
at io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration.createCredentialsProvider(CredentialsProviderAutoConfiguration.java:108) ~[spring-cloud-aws-autoconfigure-3.3.1.jar:3.3.1]
at io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration.credentialsProvider(CredentialsProviderAutoConfiguration.java:75) ~[spring-cloud-aws-autoconfigure-3.3.1.jar:3.3.1]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) ~[spring-beans-6.2.7.jar:6.2.7]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-6.2.7.jar:6.2.7]
Reproduction Steps
- Update from .57 to .60
- Use datasource like
datasource:
driver-class-name: software.amazon.jdbc.Driver
url: jdbc:aws-wrapper:postgresql://<baseurl>-rds.cluster-<removed>.eu-central-1.rds.amazonaws.com:5432/be
username: <removed>
hikari:
data-source-properties:
wrapperPlugins: iam,failover,efm2
iamRegion: eu-central-1
exception-override-class-name: software.amazon.jdbc.util.HikariCPSQLException
Possible Solution
Investigate why
software.amazon.awssdk.awscore.auth.AuthSchemePreferenceResolver
seems not be found.
Additional Information/Context
No response
AWS Java SDK version used
2.31.60
JDK version used
21
Operating System and version
Linux (unknown version)
Metadata
Metadata
Assignees
Labels
bugThis issue is a bug.This issue is a bug.closed-for-stalenessp2This is a standard priority issueThis is a standard priority issue