Skip to content

AmazonServiceException returning null requestIds in stackTrace #2940

@Naman-555

Description

@Naman-555

Describe the bug

We are using doesBucketExistsInV2() to check if bucket exists in s3, we are getting AmazonServiceException with error code 500 for multiple different buckets.
We have observed that the stacktrace doesn't gives the requestIds . They are marked as null.

Expected Behavior

RequestIds should be printed in the stacktrace of AmazonServiceException as it happens in AmazonS3Exception.

Current Behavior

<aws.sdk.version>1.11.828</aws.sdk.version>
<kotlin.version>1.7.22</kotlin.version>

This is our s3 client .
val builder = AmazonS3ClientBuilder.standard()
.withClientConfiguration(clientConfiguration)
.withCredentials(DefaultAWSCredentialsProviderChain())
.withRegion(awsProperties.region)

We have used below method to verify if bucket exists-
amazonS3.doesBucketExistV2(bucketName)

Exception:
message: Exception while fetching data (/consumer/upsert) : java.lang.IllegalArgumentException: Error when attempting to verify existence of s3 bucket: "apiary-044815873833-us-east-1-lz-datascience"
spanId: 16d21cb68e768f1e
stack_trace: c.a.AmazonServiceException: Internal Server Error (Service: null; Status Code: 500; Error Code: null; Request ID: null; Proxy: null)
at c.a.i.EC2ResourceFetcher.handleErrorResponse(EC2ResourceFetcher.java:149)
at c.a.i.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:94)
at c.a.i.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70)
at c.a.i.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:75)
at c.a.i.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:66)
at c.a.a.InstanceMetadataServiceCredentialsFetcher.getCredentialsResponse(InstanceMetadataServiceCredentialsFetcher.java:47)
at c.a.a.BaseCredentialsFetcher.fetchCredentials(BaseCredentialsFetcher.java:112)
at c.a.a.BaseCredentialsFetcher.getCredentials(BaseCredentialsFetcher.java:68)
at c.a.a.InstanceProfileCredentialsProvider.getCredentials(InstanceProfileCredentialsProvider.java:165)
at c.a.a.EC2ContainerCredentialsProviderWrapper.getCredentials(EC2ContainerCredentialsProviderWrapper.java:75)
at c.a.a.AWSCredentialsProviderChain.getCredentials(AWSCredentialsProviderChain.java:111)
at c.a.h.AmazonHttpClient$RequestExecutor.getCredentialsFromContext(AmazonHttpClient.java:1257)
at c.a.h.AmazonHttpClient$RequestExecutor.runBeforeRequestHandlers(AmazonHttpClient.java:833)
at c.a.h.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:783)
at c.a.h.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:770)
... 13 frames truncated
... 154 common frames omitted

Reproduction Steps

Can use above code and when AmazonServiceException occurs , requestIds are marked as null.

Possible Solution

No response

Additional Information/Context

No response

AWS Java SDK version used

1.11.828

JDK version used

11.0.15.1

Operating System and version

our app is deployed in AWS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    closing-soonThis issue will close in 2 days unless further comments are made.guidanceQuestion that needs advice or information.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions