You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using micrometer-tracing-bridge-brave, async baggage propagation not work after the BaggageInScope has closed, but if using micrometer-tracing-bridge-otel, it worked.
Here is an example:
@GetMappingpublicvoidtest() {
ExecutorServiceexecutorService = ContextExecutorService.wrap(Executors.newCachedThreadPool(), ContextSnapshot::captureAll);
try (BaggageInScopebaggage = tracer.getBaggage("xyz").makeCurrent("123")) {
executorService.execute(() -> {
try {
Thread.sleep(3000);
Strings = tracer.getBaggage("xyz").get();
Assert.state(s.equals("123"), "Baggage should be propagated"); // work when using otel, not work when using brave
} catch (InterruptedExceptione) {
thrownewRuntimeException(e);
}
});
}
}
The text was updated successfully, but these errors were encountered:
@wapkch could you share what version of micrometer tracing you're using? Is this still an issue on the latest version?
After testing with the latest version (1.4.1), I noticed that the behavior between Brave and OTel is consistent. Async baggage propagation doesn’t work in either case, meaning the assertion mentioned above will fail. Is this behavior by design?
When using
micrometer-tracing-bridge-brave
, async baggage propagation not work after the BaggageInScope has closed, but if usingmicrometer-tracing-bridge-otel
, it worked.Here is an example:
The text was updated successfully, but these errors were encountered: