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
Describe the bug
We override GlobalOpenTelemetry to return noop because we don't allow the user to set it and they should use CDI injection to acquire an OpenTelemetry object.
However our override is missing public methods, we need to restore those methods and make them redirect to the no-op OpenTelemetry we return for users who use GlobalOpenTelemetry.
This is an example of hitting the bug:
Caused by: java.lang.NoSuchMethodError: io/opentelemetry/api/GlobalOpenTelemetry.getPropagators()Lio/opentelemetry/context/propagation/ContextPropagators; (loaded from file:/home/gb110303/workspaces/open-liberty/dev/build.image/wlp/lib/io.openliberty.io.opentelemetry_1.0.77.jar by org.eclipse.osgi.internal.loader.EquinoxClassLoader@7be84dfc[io.openliberty.io.opentelemetry:1.0.77.202305162152(id=156)]) called from class io.opentelemetry.opentracingshim.OpenTracingPropagatorsBuilder (loaded from file:/home/gb110303/workspaces/open-liberty/dev/build.image/wlp/usr/servers/Telemetry10Shim/workarea/org.eclipse.osgi/52/data/cache/com.ibm.ws.app.manager_0/.cache/WEB-INF/lib/opentelemetry-opentracing-shim-1.19.0-alpha.jar by com.ibm.ws.classloading.internal.AppClassLoader@76e93c4a).
at OpenTracingPropagatorsBuilder.(OpenTracingPropagatorsBuilder.java:16)
at OpenTracingPropagators.builder(OpenTracingPropagators.java:32)
at OpenTracingShim.createTracerShim(OpenTracingShim.java:61)
at OpenTracingShimServlet.createShim(OpenTracingShimServlet.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Steps to Reproduce
Call an unimplemented public method on GlobalOpenTelemetry.
Expected behavior
Calling a method on GlobalOpenTelemetry should delegate to the no-op OpenTelemetry open
Diagnostic information:
OpenLiberty Version: [e.g. 23.0.0.3]
Affected feature(s) [e.g. mpTelemetry-1.0]
Java Version: N/A
server.xml configuration N/A
The text was updated successfully, but these errors were encountered:
Describe the bug
We override GlobalOpenTelemetry to return noop because we don't allow the user to set it and they should use CDI injection to acquire an OpenTelemetry object.
However our override is missing public methods, we need to restore those methods and make them redirect to the no-op OpenTelemetry we return for users who use GlobalOpenTelemetry.
This is an example of hitting the bug:
Caused by: java.lang.NoSuchMethodError: io/opentelemetry/api/GlobalOpenTelemetry.getPropagators()Lio/opentelemetry/context/propagation/ContextPropagators; (loaded from file:/home/gb110303/workspaces/open-liberty/dev/build.image/wlp/lib/io.openliberty.io.opentelemetry_1.0.77.jar by org.eclipse.osgi.internal.loader.EquinoxClassLoader@7be84dfc[io.openliberty.io.opentelemetry:1.0.77.202305162152(id=156)]) called from class io.opentelemetry.opentracingshim.OpenTracingPropagatorsBuilder (loaded from file:/home/gb110303/workspaces/open-liberty/dev/build.image/wlp/usr/servers/Telemetry10Shim/workarea/org.eclipse.osgi/52/data/cache/com.ibm.ws.app.manager_0/.cache/WEB-INF/lib/opentelemetry-opentracing-shim-1.19.0-alpha.jar by com.ibm.ws.classloading.internal.AppClassLoader@76e93c4a).
at OpenTracingPropagatorsBuilder.(OpenTracingPropagatorsBuilder.java:16)
at OpenTracingPropagators.builder(OpenTracingPropagators.java:32)
at OpenTracingShim.createTracerShim(OpenTracingShim.java:61)
at OpenTracingShimServlet.createShim(OpenTracingShimServlet.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Steps to Reproduce
Call an unimplemented public method on GlobalOpenTelemetry.
Expected behavior
Calling a method on GlobalOpenTelemetry should delegate to the no-op OpenTelemetry open
Diagnostic information:
The text was updated successfully, but these errors were encountered: