Skip to content
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

OpenTelemetry is sometimes requested before it is created and thus build fails #2253

Closed
michalvavrik opened this issue Aug 5, 2023 · 4 comments

Comments

@michalvavrik
Copy link

I experienced this issue just once here https://github.com/quarkus-qe/beefy-scenarios/actions/runs/5770827990/job/15644520776?pr=404 and can't reproduce it, but judging by logs it seems like the order of build items is not ensured so that KafkaOpenTelemetryInstrumenter may invoke GlobalOpenTelemetry.get() before it was set.

Reproducer (theoretically :-) it's random):

  1. git clone [email protected]:quarkus-qe/beefy-scenarios.git
  2. cd beefy-scenarios
  3. mvn -fae -V -B -s .github/mvn-settings.xml -Dvalidate-format clean test -pl 301-quarkus-vertx-kafka/

Logged exception:

java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
2023-08-05T13:47:30.3643831Z 	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:639)
2023-08-05T13:47:30.3644633Z 	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:711)
2023-08-05T13:47:30.3645470Z 	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
2023-08-05T13:47:30.3646382Z 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
2023-08-05T13:47:30.3647286Z 	at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:73)
2023-08-05T13:47:30.3648535Z 	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
2023-08-05T13:47:30.3649396Z 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
2023-08-05T13:47:30.3650232Z 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
2023-08-05T13:47:30.3651067Z 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
2023-08-05T13:47:30.3651881Z 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
2023-08-05T13:47:30.3652702Z 	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
2023-08-05T13:47:30.3653864Z 	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:62)
2023-08-05T13:47:30.3654779Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:363)
2023-08-05T13:47:30.3655734Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:310)
2023-08-05T13:47:30.3656967Z 	at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79)
2023-08-05T13:47:30.3657967Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:286)
2023-08-05T13:47:30.3658969Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:278)
2023-08-05T13:47:30.3659589Z 	at java.base/java.util.Optional.orElseGet(Optional.java:369)
2023-08-05T13:47:30.3660229Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:277)
2023-08-05T13:47:30.3661055Z 	at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
2023-08-05T13:47:30.3661865Z 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:105)
2023-08-05T13:47:30.3662659Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3663451Z 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:104)
2023-08-05T13:47:30.3664228Z 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:68)
2023-08-05T13:47:30.3664952Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
2023-08-05T13:47:30.3665706Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3666446Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
2023-08-05T13:47:30.3667136Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
2023-08-05T13:47:30.3667682Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
2023-08-05T13:47:30.3668528Z 	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
2023-08-05T13:47:30.3669529Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
2023-08-05T13:47:30.3670334Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3671090Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
2023-08-05T13:47:30.3671748Z 	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-08-05T13:47:30.3672415Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
2023-08-05T13:47:30.3673177Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3673976Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
2023-08-05T13:47:30.3674733Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
2023-08-05T13:47:30.3675279Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
2023-08-05T13:47:30.3676094Z 	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
2023-08-05T13:47:30.3677089Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
2023-08-05T13:47:30.3677984Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3678757Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
2023-08-05T13:47:30.3679420Z 	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-08-05T13:47:30.3680203Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
2023-08-05T13:47:30.3680965Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3681744Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
2023-08-05T13:47:30.3682492Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
2023-08-05T13:47:30.3683449Z 	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
2023-08-05T13:47:30.3684495Z 	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
2023-08-05T13:47:30.3685360Z 	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
2023-08-05T13:47:30.3686176Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
2023-08-05T13:47:30.3686970Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
2023-08-05T13:47:30.3687753Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
2023-08-05T13:47:30.3688536Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
2023-08-05T13:47:30.3689427Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
2023-08-05T13:47:30.3690294Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
2023-08-05T13:47:30.3690990Z 	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
2023-08-05T13:47:30.3691600Z 	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
2023-08-05T13:47:30.3692281Z 	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
2023-08-05T13:47:30.3692977Z 	at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:50)
2023-08-05T13:47:30.3693666Z 	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
2023-08-05T13:47:30.3694481Z 	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
2023-08-05T13:47:30.3695291Z 	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:122)
2023-08-05T13:47:30.3696016Z 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
2023-08-05T13:47:30.3698848Z 	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
2023-08-05T13:47:30.3699544Z 	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
2023-08-05T13:47:30.3700406Z 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
2023-08-05T13:47:30.3700881Z Caused by: java.lang.RuntimeException: Failed to start quarkus
2023-08-05T13:47:30.3701365Z 	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2023-08-05T13:47:30.3701811Z 	at io.quarkus.runtime.Application.start(Application.java:101)
2023-08-05T13:47:30.3702315Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-08-05T13:47:30.3703170Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-08-05T13:47:30.3703870Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-08-05T13:47:30.3704439Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-08-05T13:47:30.3704932Z 	at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:273)
2023-08-05T13:47:30.3705512Z 	at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:251)
2023-08-05T13:47:30.3706286Z 	at io.quarkus.test.junit.QuarkusTestExtension.ensureStarted(QuarkusTestExtension.java:606)
2023-08-05T13:47:30.3706907Z 	at io.quarkus.test.junit.QuarkusTestExtension.beforeAll(QuarkusTestExtension.java:655)
2023-08-05T13:47:30.3707656Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
2023-08-05T13:47:30.3708483Z 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-08-05T13:47:30.3709368Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
2023-08-05T13:47:30.3710232Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
2023-08-05T13:47:30.3710982Z 	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
2023-08-05T13:47:30.3711745Z 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
2023-08-05T13:47:30.3712219Z 	... 37 more
2023-08-05T13:47:30.3712884Z Caused by: jakarta.enterprise.inject.CreationException: Error creating synthetic bean [2deeb341bce4a230183bf3a228841625fe2519ae]: io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException: Unexpected configuration error
2023-08-05T13:47:30.3713715Z 	at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.doCreate(Unknown Source)
2023-08-05T13:47:30.3714304Z 	at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.create(Unknown Source)
2023-08-05T13:47:30.3714879Z 	at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.create(Unknown Source)
2023-08-05T13:47:30.3715508Z 	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
2023-08-05T13:47:30.3716113Z 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
2023-08-05T13:47:30.3716662Z 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
2023-08-05T13:47:30.3717130Z 	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
2023-08-05T13:47:30.3717610Z 	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
2023-08-05T13:47:30.3718164Z 	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
2023-08-05T13:47:30.3718734Z 	at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.get(Unknown Source)
2023-08-05T13:47:30.3719282Z 	at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.get(Unknown Source)
2023-08-05T13:47:30.3719870Z 	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:557)
2023-08-05T13:47:30.3720475Z 	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:537)
2023-08-05T13:47:30.3721081Z 	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:570)
2023-08-05T13:47:30.3721621Z 	at io.quarkus.arc.impl.ArcContainerImpl$3.get(ArcContainerImpl.java:334)
2023-08-05T13:47:30.3722093Z 	at io.quarkus.arc.impl.ArcContainerImpl$3.get(ArcContainerImpl.java:331)
2023-08-05T13:47:30.3722588Z 	at io.quarkus.arc.runtime.BeanContainerImpl$1.create(BeanContainerImpl.java:46)
2023-08-05T13:47:30.3723105Z 	at io.quarkus.arc.runtime.BeanContainer.beanInstance(BeanContainer.java:25)
2023-08-05T13:47:30.3724027Z 	at io.quarkus.opentelemetry.runtime.tracing.intrumentation.InstrumentationRecorder.setupVertxTracer(InstrumentationRecorder.java:33)
2023-08-05T13:47:30.3724875Z 	at io.quarkus.deployment.steps.OpenTelemetryProcessor$setupVertx280172193.deploy_0(Unknown Source)
2023-08-05T13:47:30.3725479Z 	at io.quarkus.deployment.steps.OpenTelemetryProcessor$setupVertx280172193.deploy(Unknown Source)
2023-08-05T13:47:30.3725876Z 	... 53 more
2023-08-05T13:47:30.3726431Z Caused by: io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException: Unexpected configuration error
2023-08-05T13:47:30.3727258Z 	at io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder.build(AutoConfiguredOpenTelemetrySdkBuilder.java:424)
2023-08-05T13:47:30.3728085Z 	at io.quarkus.opentelemetry.runtime.OpenTelemetryRecorder$1.apply(OpenTelemetryRecorder.java:79)
2023-08-05T13:47:30.3728735Z 	at io.quarkus.opentelemetry.runtime.OpenTelemetryRecorder$1.apply(OpenTelemetryRecorder.java:52)
2023-08-05T13:47:30.3729377Z 	at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.createSynthetic(Unknown Source)
2023-08-05T13:47:30.3729784Z 	... 74 more
2023-08-05T13:47:30.3730592Z Caused by: java.lang.IllegalStateException: GlobalOpenTelemetry.set has already been called. GlobalOpenTelemetry.set must be called only once before any calls to GlobalOpenTelemetry.get. If you are using the OpenTelemetrySdk, use OpenTelemetrySdkBuilder.buildAndRegisterGlobal instead. Previous invocation set to cause of this exception.
2023-08-05T13:47:30.3731563Z 	at io.opentelemetry.api.GlobalOpenTelemetry.set(GlobalOpenTelemetry.java:104)
2023-08-05T13:47:30.3732332Z 	at io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder.build(AutoConfiguredOpenTelemetrySdkBuilder.java:401)
2023-08-05T13:47:30.3732898Z 	... 77 more
2023-08-05T13:47:30.3733140Z Caused by: java.lang.Throwable
2023-08-05T13:47:30.3733555Z 	at io.opentelemetry.api.GlobalOpenTelemetry.set(GlobalOpenTelemetry.java:112)
2023-08-05T13:47:30.3734099Z 	at io.opentelemetry.api.GlobalOpenTelemetry.get(GlobalOpenTelemetry.java:82)
2023-08-05T13:47:30.3734859Z 	at io.smallrye.reactive.messaging.kafka.tracing.KafkaOpenTelemetryInstrumenter.create(KafkaOpenTelemetryInstrumenter.java:41)
2023-08-05T13:47:30.3735875Z 	at io.smallrye.reactive.messaging.kafka.tracing.KafkaOpenTelemetryInstrumenter.createForSource(KafkaOpenTelemetryInstrumenter.java:27)
2023-08-05T13:47:30.3744454Z 	at io.smallrye.reactive.messaging.kafka.impl.KafkaSource.<init>(KafkaSource.java:211)
2023-08-05T13:47:30.3745116Z 	at io.smallrye.reactive.messaging.kafka.KafkaConnector.getPublisher(KafkaConnector.java:211)
2023-08-05T13:47:30.3745794Z 	at io.smallrye.reactive.messaging.kafka.KafkaConnector_Subclass.getPublisher$$superforward(Unknown Source)
2023-08-05T13:47:30.3746424Z 	at io.smallrye.reactive.messaging.kafka.KafkaConnector_Subclass$$function$$9.apply(Unknown Source)
2023-08-05T13:47:30.3747085Z 	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
2023-08-05T13:47:30.3747807Z 	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
2023-08-05T13:47:30.3748813Z 	at io.quarkus.smallrye.reactivemessaging.runtime.DuplicatedContextConnectorFactoryInterceptor.intercept(DuplicatedContextConnectorFactoryInterceptor.java:32)
2023-08-05T13:47:30.3749947Z 	at io.quarkus.smallrye.reactivemessaging.runtime.DuplicatedContextConnectorFactoryInterceptor_Bean.intercept(Unknown Source)
2023-08-05T13:47:30.3750712Z 	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
2023-08-05T13:47:30.3751357Z 	at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
2023-08-05T13:47:30.3752027Z 	at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
2023-08-05T13:47:30.3752648Z 	at io.smallrye.reactive.messaging.kafka.KafkaConnector_Subclass.getPublisher(Unknown Source)
2023-08-05T13:47:30.3753530Z 	at io.smallrye.reactive.messaging.kafka.KafkaConnector_ClientProxy.getPublisher(Unknown Source)
2023-08-05T13:47:30.3754334Z 	at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory.createPublisher(ConfiguredChannelFactory.java:172)
2023-08-05T13:47:30.3755264Z 	at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory.register(ConfiguredChannelFactory.java:134)
2023-08-05T13:47:30.3756151Z 	at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory.initialize(ConfiguredChannelFactory.java:106)
2023-08-05T13:47:30.3757131Z 	at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory_ClientProxy.initialize(Unknown Source)
2023-08-05T13:47:30.3757753Z 	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
2023-08-05T13:47:30.3758266Z 	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
2023-08-05T13:47:30.3758821Z 	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
2023-08-05T13:47:30.3759473Z 	at io.smallrye.reactive.messaging.providers.extension.MediatorManager.start(MediatorManager.java:236)
2023-08-05T13:47:30.3760216Z 	at io.smallrye.reactive.messaging.providers.extension.MediatorManager_ClientProxy.start(Unknown Source)
2023-08-05T13:47:30.3761166Z 	at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle.onApplicationStart(SmallRyeReactiveMessagingLifecycle.java:53)
2023-08-05T13:47:30.3762290Z 	at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle_Observer_onApplicationStart_68e7b57eb97cb75d597c5b816682366e888d0d9b.notify(Unknown Source)
2023-08-05T13:47:30.3763048Z 	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:346)
2023-08-05T13:47:30.3763507Z 	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:328)
2023-08-05T13:47:30.3763934Z 	at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:82)
2023-08-05T13:47:30.3764428Z 	at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:155)
2023-08-05T13:47:30.3765010Z 	at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:106)
2023-08-05T13:47:30.3765611Z 	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
2023-08-05T13:47:30.3766243Z 	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
2023-08-05T13:47:30.3766658Z 	... 53 more
@ozangunalp
Copy link
Collaborator

Seems like GlobalOpenTelemetry.get() allows concurrent access. We better avoid using GlobalOpenTelemetry.get and get the OpenTelemetrySdk by injection, which should be optional.

@oudesnepelaar
Copy link

Hi, in our team we use Quarkus with OTEL on a bunch of components (~20) and every other build, 1 or 2 of these components end up with this issue. Once a build displays this problem, it will remain broken. Only way to fix it, is to do another build and hope for the best. This is really starting to interfere with our CI/CD process because sometimes multiple builds are necessary to get all components working properly. Is this bug on the radar? Can we expect a solution in a nearby update?

@ozangunalp
Copy link
Collaborator

Yes #2540 addressed that issue. It'll be a part of Quarkus 3.10

@oudesnepelaar
Copy link

Thx, that's great news!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants