Tim Peeters created CXF-8210:
--------------------------------
Summary: Incompatibility with recent Brave versions causes
NullPointerException and hides root cause
Key: CXF-8210
URL: https://issues.apache.org/jira/browse/CXF-8210
Project: CXF
Issue Type: Bug
Components: Tracing Brave
Affects Versions: 3.3.5
Reporter: Tim Peeters
I believe there is an incompatibility between {{cxf-integration-tracing-brave}}
and recent versions of {{brave-instrumentation-http}}.
CXF master currently depends on Brave version 5.6.9 while the newest version
is 5.9.4.
As of version 5.7, {{brave-instrumentation-http}} throws a
{{NullPointerException}} when invoking{{
brave.http.HttpClientHandler.create(HttpTracing, HttpClientAdapter)}} with a
{{null}} value for the {{HttpClientAdapter}} parameter.
Which is exactly what {{cxf-integration-tracing-brave}} does in case of an
exception/SOAP fault.
This results in the following stack trace and hides the original SOAP fault
from the user:
{code:java}
java.lang.NullPointerException: adapter == null
at brave.http.HttpClientHandler.create(HttpClientHandler.java:64)
at
org.apache.cxf.tracing.brave.AbstractBraveClientProvider.stopTraceSpan(AbstractBraveClientProvider.java:126)
at
org.apache.cxf.tracing.brave.BraveClientStartInterceptor.handleFault(BraveClientStartInterceptor.java:55)
at
org.apache.cxf.phase.PhaseInterceptorChain.unwind(PhaseInterceptorChain.java:499){code}
Users of Spring Cloud Greenwich SR3 or higher are impacted.
Dependency graph from left to right with indication of the impacted versions:
|Spring Boot|Spring Cloud|Sleuth|Brave|Status|
|2.1|Greenwich.RELEASE|2.1.0.RELEASE|5.6.1|Works|
|2.1|Greenwich.SR1|2.1.1.RELEASE|5.6.1|Works|
|2.1|Greenwich.SR2|2.1.2.RELEASE|5.6.5|Works|
|2.1|Greenwich.SR3|2.1.3.RELEASE|5.7.0|**Broken**|
|2.1|Greenwich.SR4|2.1.6.RELEASE|5.8.0|**Broken**|
|2.1|Greenwich.SR5|2.1.7.RELEASE|5.9.2|**Broken**|
|2.2|Hoxton.RELEASE|2.2.0.RELEASE|5.9.0|**Broken**|
|2.2|Hoxton.SR1|2.2.1.RELEASE|5.9.0 |**Broken**|
--
This message was sent by Atlassian Jira
(v8.3.4#803005)