[jboss-jira] [JBoss JIRA] (WFLY-10961) MP-OpenTracing Jaeger's can't see a concrete sender
Juraci Paixão Kröhling (JIRA)
issues at jboss.org
Fri Aug 31 08:51:00 EDT 2018
[ https://issues.jboss.org/browse/WFLY-10961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Juraci Paixão Kröhling updated WFLY-10961:
------------------------------------------
Workaround Description:
One workaround is to change the modules manually, placing the jaeger-thrift JAR within the same module as jaeger-core, and changing the module definition.
Copy the JAR:
{code}
cp modules/system/layers/base/io/jaegertracing/jaeger-thrift/main/jaeger-thrift-0.30.6.jar modules/system/layers/base/io/jaegertracing/jaeger-core/main/
{code}
Module definition at modules/system/layers/base/io/jaegertracing/jaeger-core/main/module.xml:
{code}
<module name="io.jaegertracing.jaeger-core" xmlns="urn:jboss:module:1.8">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<resources>
<resource-root path="jaeger-core-0.30.6.jar"/>
<resource-root path="jaeger-thrift-0.30.6.jar"/>
</resources>
<dependencies>
<module name="com.google.code.gson"/>
<module name="io.opentracing.opentracing-api"/>
<module name="io.opentracing.opentracing-util"/>
<module name="org.apache.thrift"/>
<module name="org.slf4j"/>
</dependencies>
</module>
{code}
Additionally, the module org.wildfly.microprofile.opentracing-smallrye (modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/module.xml) should have the references to both the Apache Thrift and Jaeger Thrift removed.
A second workaround is to have the deployed artifact to embed the Jaeger Client artifact, along with a Tracer Factory. A reference can be found on Jaeger Client Java repository:
https://github.com/jaegertracing/jaeger-client-java/blob/8e9492fcc57fcf308d52096018d82237173b8eb9/jaeger-tracerresolver/src/main/java/io/jaegertracing/tracerresolver/internal/JaegerTracerFactory.java#L21-L26
was:
One workaround is to change the modules manually, placing the jaeger-thrift JAR within the same module as jaeger-core, and changing the module definition.
Copy the JAR:
{code}
cp modules/system/layers/base/io/jaegertracing/jaeger-thrift/main/jaeger-thrift-0.30.6.jar modules/system/layers/base/io/jaegertracing/jaeger-core/main/
{code}
Module definition at modules/system/layers/base/io/jaegertracing/jaeger-core/main/module.xml:
{code}
<module name="io.jaegertracing.jaeger-core" xmlns="urn:jboss:module:1.8">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<resources>
<resource-root path="jaeger-core-0.30.6.jar"/>
<resource-root path="jaeger-thrift-0.30.6.jar"/>
</resources>
<dependencies>
<module name="com.google.code.gson"/>
<module name="io.opentracing.opentracing-api"/>
<module name="io.opentracing.opentracing-util"/>
<module name="org.apache.thrift"/>
<module name="org.slf4j"/>
</dependencies>
</module>
{code}
Additionally, the module org.wildfly.microprofile.opentracing-smallrye should have the references to both the Apache Thrift and Jaeger Thrift removed.
A second workaround is to have the deployed artifact to embed the Jaeger Client artifact, along with a Tracer Factory. A reference can be found on Jaeger Client Java repository:
https://github.com/jaegertracing/jaeger-client-java/blob/8e9492fcc57fcf308d52096018d82237173b8eb9/jaeger-tracerresolver/src/main/java/io/jaegertracing/tracerresolver/internal/JaegerTracerFactory.java#L21-L26
> MP-OpenTracing Jaeger's can't see a concrete sender
> ---------------------------------------------------
>
> Key: WFLY-10961
> URL: https://issues.jboss.org/browse/WFLY-10961
> Project: WildFly
> Issue Type: Bug
> Affects Versions: 14.0.0.Final
> Reporter: Juraci Paixão Kröhling
> Assignee: Juraci Paixão Kröhling
>
> One of the last changes made to WF 14 was to split the dependencies into smaller modules. This introduced a bug where the Jaeger Core module can't see a Sender from Jaeger Thrift. This is loaded via the Service Loader, so, Jaeger Core has to be shipped with Jaeger Thrift on the same module, to avoid a circular dependency (as Jaeger Thrift depends on classes defined on Jaeger Core).
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list