-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
RemoteControlledSampler fails with "No strategy present in response. Not updating sampler." in native mode #10402
Comments
cc @pavolloffay |
Could you please share what version of Jaeger backed are you using and its configuration? |
<jaeger-client.version>1.1.0</jaeger-client.version>
<opentracing.version>0.33.0</opentracing.version> |
I mean Jaeger backend/server components. |
This seems caused by the reflection used in conjunction with the I've gotten it to work with the following config:
The
Having to define such a reflection config in the application using |
Maybe it is caused by not all relevant classes being included here: quarkus/extensions/jaeger/deployment/src/main/java/io/quarkus/jaeger/deployment/JaegerProcessor.java Lines 57 to 61 in 27ba1cb
It seems to me that
are missing here. I haven't yet checked whether adding these here resolves the issue, though. @jmartisk Any comment on this (the above code was added in 05b5041) ? |
@objectiser I would like to contribute a PR for adding the missing classes for reflection as pointed out by @calohmn |
All PRs go against the |
How do you determine which releases the fix will go into. i.e. can I expect the fix to be part of the next 2.6.x or 2.7.x release? |
We decide whether or not to backport to live branches based on the impact of the change. As you said, |
Retrieving sampler configuration from a central Jaeger Collector requires lookup of additional value object classes. These missing classes have been registered for reflection. Fix quarkusio#10402 Signed-off-by: Kai Hudalla <[email protected]>
Retrieving sampler configuration from a central Jaeger Collector requires lookup of additional value object classes. These missing classes have been registered for reflection. Fix quarkusio#10402 Signed-off-by: Kai Hudalla <[email protected]> (cherry picked from commit dd68b41)
Registering the missing Jaeger classes for reflection in the Jaeger extension (#23610) actually is not enough. It seems that access to the classes' fields also needs to be enabled explicitly. |
The Jaeger client uses GSON to unmarshall JSON messages containing sampling configuration to Java objects. GSON uses reflection on the DTO object to determine fields that match the properties in the JSON object. by default, the ReflectiveClassBuildItem does not allow access to a class' fields via reflection. This PR therefore explicitly enables it. This should (finally) fix quarkusio#10402 Signed-off-by: Kai Hudalla <[email protected]>
The Jaeger client uses GSON to unmarshall JSON messages containing sampling configuration to Java objects. GSON uses reflection on the DTO object to determine fields that match the properties in the JSON object. by default, the ReflectiveClassBuildItem does not allow access to a class' fields via reflection. This PR therefore explicitly enables it. This should (finally) fix quarkusio#10402 Signed-off-by: Kai Hudalla <[email protected]> (cherry picked from commit d6bffc0)
The Jaeger client uses GSON to unmarshall JSON messages containing sampling configuration to Java objects. GSON uses reflection on the DTO object to determine fields that match the properties in the JSON object. by default, the ReflectiveClassBuildItem does not allow access to a class' fields via reflection. This PR therefore explicitly enables it. This should (finally) fix quarkusio#10402 Signed-off-by: Kai Hudalla <[email protected]> (cherry picked from commit d6bffc0)
The Jaeger client uses GSON to unmarshall JSON messages containing sampling configuration to Java objects. GSON uses reflection on the DTO object to determine fields that match the properties in the JSON object. by default, the ReflectiveClassBuildItem does not allow access to a class' fields via reflection. This PR therefore explicitly enables it. This should (finally) fix quarkusio#10402 Signed-off-by: Kai Hudalla <[email protected]> (cherry picked from commit d6bffc0)
Describe the bug
When using Jaeger tracing by adding:
io.quarkus:quarkus-jaeger
, tracing seems to work, but a periodic error message is in the log, when using native mode.I assume that updating the strategy is broken as well.
Expected behavior
Same as JVM mode: No error message. Update works.
Actual behavior
To Reproduce
Steps to reproduce the behavior:
Environment (please complete the following information):
uname -a
orver
:java -version
:mvnw --version
orgradlew --version
):The text was updated successfully, but these errors were encountered: