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

URL to the Kafka brokers must be configured with the brokers option in native mode (continued) #3742

Closed
sed108 opened this issue Apr 21, 2022 · 4 comments
Assignees

Comments

@sed108
Copy link

sed108 commented Apr 21, 2022

This issue was originally reported under #2939 and then later under #3157. The latter has since been closed, yet the problem still remains.
Please be aware, the workaround suggested in #2939 (comment) no longer appears to work (#2939 (comment))!

Tested with
Quarkus: 2.8.0
Camel 3.16.0

Steps to reproduce:
Reenabled the integration test in the quarkus-kafka examples at line 22
Run command mvn clean verify -Pnative

Expected Behavior:
Native tests should run and complete successfully given that #3157 has been closed since 2.4.0

Actual Behavior:
Native tests fail with same error and stack trace originally reported:

[INFO] Running org.acme.kafka.KafkaIT
Apr 21, 2022 9:50:02 AM org.jboss.threads.Version <clinit>
INFO: JBoss Threads version 3.4.2.Final
2022-04-21 09:50:03,412 INFO  [org.tes.doc.DockerClientProviderStrategy] (build-8) Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
2022-04-21 09:50:04,105 INFO  [org.tes.doc.DockerClientProviderStrategy] (build-8) Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
2022-04-21 09:50:04,106 INFO  [org.tes.DockerClientFactory] (build-8) Docker host IP address is localhost
2022-04-21 09:50:04,164 INFO  [org.tes.DockerClientFactory] (build-8) Connected to docker: 
  Server Version: 20.10.13
  API Version: 1.41
  Operating System: Ubuntu 20.04.4 LTS
  Total Memory: 15967 MB
2022-04-21 09:50:04,167 INFO  [org.tes.uti.ImageNameSubstitutor] (build-8) Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
2022-04-21 09:50:05,164 INFO  [org.tes.DockerClientFactory] (build-8) Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
2022-04-21 09:50:05,164 INFO  [org.tes.DockerClientFactory] (build-8) Checking the system...
2022-04-21 09:50:05,165 INFO  [org.tes.DockerClientFactory] (build-8) ✔︎ Docker server version should be at least 1.6.0
2022-04-21 09:50:05,294 INFO  [org.tes.DockerClientFactory] (build-8) ✔︎ Docker environment should have more than 2GB free disk space
2022-04-21 09:50:05,359 INFO  [🐳 .io/.11.3]] (build-8) Creating container for image: docker.io/vectorized/redpanda:v21.11.3
2022-04-21 09:50:05,660 INFO  [🐳 .io/.11.3]] (build-8) Container docker.io/vectorized/redpanda:v21.11.3 is starting: 5f91ab348cee595451bd0f2e1a4f148ae565a744c67769476adfacd6c385e7b9
2022-04-21 09:50:07,263 INFO  [🐳 .io/.11.3]] (build-8) Container docker.io/vectorized/redpanda:v21.11.3 started in PT1.950152S
Apr 21, 2022 9:50:07 AM io.quarkus.kafka.client.deployment.DevServicesKafkaProcessor startKafkaDevService
INFO: Dev Services for Kafka started. Other Quarkus applications in dev mode will find the broker automatically. For Quarkus applications in production mode, you can connect to this by starting your application with -Dkafka.bootstrap.servers=OUTSIDE://localhost:50561
======================================================================================
  native.image.path was not set, making a guess for the correct path of native image
  guessed path: /home/user/git/camel-quarkus-examples/kafka/target/camel-quarkus-examples-kafka-2.8.0-runner
======================================================================================
Executing "/home/user/git/camel-quarkus-examples/kafka/target/camel-quarkus-examples-kafka-2.8.0-runner -Dquarkus.http.port=8081 -Dquarkus.http.ssl-port=8444 -Dtest.url=http://localhost:8081 -Dquarkus.log.file.path=/home/user/git/camel-quarkus-examples/kafka/target/quarkus.log -Dquarkus.log.file.enable=true -Dkafka.bootstrap.servers=OUTSIDE://localhost:50561"
__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
2022-04-21 09:50:07,457 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] (main) Bootstrap runtime: org.apache.camel.quarkus.main.CamelMainRuntime
2022-04-21 09:50:07,458 INFO  [org.apa.cam.mai.MainSupport] (main) Apache Camel (Main) 3.16.0 is starting
2022-04-21 09:50:07,464 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 3.16.0 (camel-1) is starting
2022-04-21 09:50:07,465 ERROR [org.apa.cam.imp.eng.AbstractCamelContext] (main) Error starting CamelContext (camel-1) due to exception thrown: Failed to start route FromTimer2Kafka because of null: org.apache.camel.FailedToStartRouteException: Failed to start route FromTimer2Kafka because of null
	at org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:123)
	at org.apache.camel.impl.engine.InternalRouteStartupManager.doWarmUpRoutes(InternalRouteStartupManager.java:306)
	at org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:189)
	at org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:147)
	at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3344)
	at org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:3023)
	at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2978)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2639)
	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:255)
	at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:94)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:140)
	at org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
	at org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
	at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown Source)
	at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown Source)
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:103)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:41)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:120)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
Caused by: org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: URL to the Kafka brokers must be configured with the brokers option.
	at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:67)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:130)
	at org.apache.camel.impl.engine.DefaultChannel.doStart(DefaultChannel.java:126)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:116)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:130)
	at org.apache.camel.processor.Pipeline.doStart(Pipeline.java:221)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.support.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:89)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.impl.engine.RouteService.startChildServices(RouteService.java:396)
	at org.apache.camel.impl.engine.RouteService.doWarmUp(RouteService.java:193)
	at org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:121)
	... 23 more
Caused by: java.lang.IllegalArgumentException: URL to the Kafka brokers must be configured with the brokers option.
	at org.apache.camel.component.kafka.DefaultKafkaClientFactory.getBrokers(DefaultKafkaClientFactory.java:42)
	at org.apache.camel.component.kafka.KafkaProducer.getProps(KafkaProducer.java:95)
	at org.apache.camel.component.kafka.KafkaProducer.doStart(KafkaProducer.java:153)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1568)
	at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1489)
	at org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:244)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:130)
	at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1664)
	at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:60)
	... 39 more
@zhfeng
Copy link
Contributor

zhfeng commented Apr 21, 2022

It should be fixed in apache/camel-quarkus-examples#86

@zhfeng zhfeng self-assigned this Apr 21, 2022
@zhfeng
Copy link
Contributor

zhfeng commented Apr 21, 2022

Oh, the fix is a workaround and I'm still investigating.

@zhfeng
Copy link
Contributor

zhfeng commented Apr 22, 2022

I just raise quarkusio/quarkus#25094 in quarkus to get some feedback.

@zhfeng
Copy link
Contributor

zhfeng commented May 9, 2022

@sed108 I think we have to set camel.component.kafka.brokers in prod mode refer to quarkusio/quarkus#25140 (comment). I will close this issue and feel free to reopen it if you have any more problems.

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

2 participants