aws-xray-sdk-dotnet: X-Ray Cannot Find a Handler of Type `EndpointResolver`

Since the release of AWSSDK service client libraries which includes AWSSDK.DynamoDBv2 version 3.7.100, Amazon.XRay.Recorder.Handlers.AwsSdk can no longer customize service clients due to being unable to find a handler for the type EndpointResolver. The service clients fail to be constructed, as a consequence.

Here is the stack trace for attempting to resolve an instance of IAmazonDynamoDB:

{
  "errorType": "InvalidOperationException",
  "errorMessage": "Cannot find a handler of type EndpointResolver",
  "stackTrace": [
    "at Amazon.Runtime.Internal.RuntimePipeline.AddHandlerAfter[T](IPipelineHandler handler)",
    "at Amazon.XRay.Recorder.Handlers.AwsSdk.Internal.XRayPipelineCustomizer.Customize(Type serviceClientType, RuntimePipeline pipeline) in /_/sdk/src/Handlers/AwsSdk/Internal/XRayPipelineHandler.cs:line 748",
    "at Amazon.Runtime.Internal.RuntimePipelineCustomizerRegistry.ApplyCustomizations(Type type, RuntimePipeline pipeline)",
    "at Amazon.Runtime.AmazonServiceClient.BuildRuntimePipeline()",
    "at Amazon.Runtime.AmazonServiceClient..ctor(AWSCredentials credentials, ClientConfig config)",
    "at Amazon.DynamoDBv2.AmazonDynamoDBClient..ctor(AWSCredentials credentials, AmazonDynamoDBConfig clientConfig)"
  ]
}

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (4 by maintainers)

Commits related to this issue

Most upvoted comments

Hi @roelvandenbrand We are yet to release this fix. We will be prioritizing it soon. Please stay tuned.

That’s great, thanks so much.

Lookin’ forward to Amazon.XRay.Recorder.Handlers.AwsSdk 2.9.2.

@chrisoverzero The code change has to go here so this was the right spot.

Just for visibility in case anyone else comes across this issue, some of the OpenTelemetry packages suffer from the same issue - requires similar upgrades to latest versions

  • OpenTelemetry.Contrib.Extensions.AWSXRay (definitely works from 1.2.0)
  • OpenTelemetry.Contrib.Instrumentation.AWS (definitely works from 1.0.2)

X-Ray team this was a change that went out with the AWS .NET SDK yesterday. Sorry about the miss here updating X-Ray. I’ll send over a PR to address the change shortly.