Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSGi manifest issue causes HTTP instrumentation to sometimes fail when finishing the span #1351

Open
helgoboss opened this issue Dec 6, 2022 · 0 comments

Comments

@helgoboss
Copy link

We get this exception from time to time:

Caused by: java.lang.NoClassDefFoundError: brave/internal/Throwables
	at brave.http.HttpHandler.handleFinish(HttpHandler.java:77)
	at brave.http.HttpServerHandler.handleSend(HttpServerHandler.java:200)
	at brave.servlet.TracingFilter.doFilter(TracingFilter.java:98)

We use Brave 5.12.5 but I'm pretty sure it affects 5.14.1 as well. The problem seems to be this section:

# We use brave.internal.Nullable, but it is not used at runtime.
Import-Package: \
!brave.internal*,\

It says it doesn't use the brave.internal package but in fact it does:

import static brave.internal.Throwables.propagateIfFatal;

try {
parseResponse(response, span);
} catch (Throwable t) {
propagateIfFatal(t);

It only happens when parsing the response fails ... but when it happens, the effect is quite big: Hundreds of different traces suddenly end up in one trace.

What about removing !brave.internal*,\?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant