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

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.

Tired of switching accounts and regions? Use Dynobase.

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

Product Features

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