aws / aws-msk-iam-auth

Enables developers to use AWS Identity and Access Management (IAM) to connect to their Amazon Managed Streaming for Apache Kafka (Amazon MSK) clusters.
Apache License 2.0
137 stars 65 forks source link

java.lang.StackOverflowError: null #120

Open nicklester opened 1 year ago

nicklester commented 1 year ago

I've used the uberjar in my ECS cluster to successfully authenticate against MSK in a Kafka Connect and a Schema Registry application. In this case, I am working with Kafka Streams 3.4.0, but receiving a StackOverflowError in IAM authentication.

This is the configuration passed to Kafka Streams (hidden a few account details)

      streamsConfig.putAll(
        Map(
          CommonClientConfigs.SECURITY_PROTOCOL_CONFIG -> "SASL_SSL",
          SaslConfigs.SASL_MECHANISM -> "AWS_MSK_IAM",
          SaslConfigs.SASL_CLIENT_CALLBACK_HANDLER_CLASS ->"software.amazon.msk.auth.iam.IAMClientCallbackHandler",
          "sasl.client.callback.handler.class" -> "software.amazon.msk.auth.iam.IAMClientCallbackHandler",
          SaslConfigs.SASL_JAAS_CONFIG -> "software.amazon.msk.auth.iam.IAMLoginModule required awsDebugCreds=true; awsRoleArn=\"arn:aws:iam::<acc num>:role/<role>-1EZ6Q3M3O85PO\";"
        ).asJava
      )

09:27:49.264 [kafka-producer-network-thread | model-stream-6e8ee1f2-81e2-49f8-b116-6bb5ce8f4cc4-StreamThread-1-producer] DEBUG s.a.m.a.iam.internals.IAMSaslClient - State SEND_CLIENT_FIRST_MESSAGE at start of evaluating challenge 09:27:49.266 [kafka-producer-network-thread | model-stream-6e8ee1f2-81e2-49f8-b116-6bb5ce8f4cc4-StreamThread-1-producer] DEBUG s.a.m.a.iam.IAMClientCallbackHandler - Type information for callback: class: software.amazon.msk.auth.iam.internals.AWSCredentialsCallback classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@5bb7643d from class: software.amazon.msk.auth.iam.IAMClientCallbackHandler classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@5bb7643d 09:27:49.266 [kafka-producer-network-thread | model-stream-6e8ee1f2-81e2-49f8-b116-6bb5ce8f4cc4-StreamThread-1-producer] DEBUG s.a.m.a.iam.IAMClientCallbackHandler - Selecting provider software.amazon.msk.auth.iam.internals.MSKCredentialProvider to load credentials 09:27:49.268 [kafka-admin-client-thread | model-stream-6e8ee1f2-81e2-49f8-b116-6bb5ce8f4cc4-admin] DEBUG s.a.m.a.iam.IAMClientCallbackHandler - Selecting provider software.amazon.msk.auth.iam.internals.MSKCredentialProvider to load credentials 09:27:49.466 [kafka-admin-client-thread | model-stream-6e8ee1f2-81e2-49f8-b116-6bb5ce8f4cc4-admin] DEBUG s.a.m.a.iam.internals.IAMSaslClient - State SEND_CLIENT_FIRST_MESSAGE at end of evaluating challenge

java.lang.StackOverflowError: null at aws_msk_iam_auth_shadow.com.amazonaws.RequestClientOptions.(RequestClientOptions.java:51) at aws_msk_iam_auth_shadow.com.amazonaws.AmazonWebServiceRequest.(AmazonWebServiceRequest.java:49) at aws_msk_iam_auth_shadow.com.amazonaws.services.securitytoken.model.AssumeRoleRequest.(AssumeRoleRequest.java:26) at aws_msk_iam_auth_shadow.com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider.newSession(STSAssumeRoleSessionCredentialsProvider.java:334)

......

github-actions[bot] commented 1 month ago

We have noticed this issue has not received attention in 1 year. We will close this issue for now. If you think this is in error, please feel free to comment and reopen the issue.