Error: failed to begin subsegment named 'amazondynamodbv2': segment cannot be found.

Rafal Wilinski

Answered by Rafal Wilinski

What's Causing This Error

This error occurs when the X-Ray SDK in Java attempts to record an outgoing call to AWS but cannot find an available segment. For example, you may run into this error if:

  • The servlet is not configured.
  • You use instrumented clients outside of the servlet code.
  • You use instrumented clients in worker threads.

Solution - Here's How To Resolve It

First, create a servlet filter to instrument incoming requests.

Then, if you're using an instrumented client to make calls in startup code that don't run with a response to the incoming request, you should create a segment manually,

Finally, if you're using instrument clients in worker threads, you will have to use the getTraceEntity and setTraceEntity methods to obtain the reference to the current subsegment. Afterward, pass it back to the recorder inside of the thread.

Spend less time in the AWS console, use Dynobase.

Try 7-day free trial. No credit card needed.

Product Features

Member Portal
© 2024 Dynobase
Better DynamoDB Experience.
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.