We have a use case where sometimes a service will call itself. In this situation, a RuntimeException is occurring due to a null transactionId.
Application has two endpoints: /request and /status. The /request endpoint calls /status.
This is the general flow:
enter /request flow - creates transaction id
enter /status flow - same transaction id (from correlationId)
exit /status flow - close the transaction, remove the id from the transactionStore
next /request flow component - RuntimeException - transactionId no longer exists
I was able to work around it by modifying the mule4-agent SpanUtils.startSpan to not throw an exception and instead return ElasticApm.currentTransaction().
We have a use case where sometimes a service will call itself. In this situation, a RuntimeException is occurring due to a null transactionId.
Application has two endpoints: /request and /status. The /request endpoint calls /status.
This is the general flow:
I was able to work around it by modifying the mule4-agent SpanUtils.startSpan to not throw an exception and instead return ElasticApm.currentTransaction().
Mule Kernel 4.2.0 AdoptOpenJDK 1.8 mule4-agent 0.0.2 mule-apikit-module 1.3.3