quarkus: opentracing can not be disabled with runtime config.
Describe the bug
Setting the property -Dquarkus.jaeger.enabled=false when executing the jar produced by running [my-package]-runner.jar, or via native-image, does not disable jaeger.
Expected behavior jaeger is disabled
Actual behavior The value contained with application.properties is used.
To Reproduce
create a quarkus project
add the opentracing extension
build the executable jar or native image
start with -Dquarkus.jaeger.enabled=false
observe that the tracer is created and proceeds with tracing
Environment (please complete the following information):
- Output of
uname -aorver: Darwin USMACEA013SSCOT 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64 - Output of
java -version: openjdk version “11.0.3” 2019-04-16 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode, sharing) - GraalVM version (if different from Java):
- Quarkus version or git rev: 1.0.0.CR1
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 17 (12 by maintainers)
Unfortunately it’s going to start being an error to access run time config from a build step (unless it’s just to proxy the object in to a recorder). If you do want to fix it before #5387 is merged, I understand.
We always should have had a strict check for this, however we also wanted to be able to send run time config objects in to recorders so they need to be proxied to do that.
I think we should instead support injecting run time config objects directly into recorders, and then completely disallow usage of run time config objects in build steps. In fact I’ll file an issue to that effect.
Right it only appears to work, it doesn’t actually work. If you change the flag at run time it has no effect. My PR #5387 simply formalizes the existing, actual behavior by marking this property as a build time property.
@loicmathieu I think you misunderstand the issue… this setting ONLY works in the quarkus:dev runtime… if you build a jar or run in native mode, you can not change the value of that config item and have quarkus honor the setting.
I only moved it because the implementation was already treating it as a build time property. I’m definitely not opposed to having it be a run time configuration and working at run time, but the extension needs some fixing in this case.