Kartik created CAMEL-19827:
------------------------------
Summary: Kafka Component generates huge logs infinitely when
invalid configuration is provided.
Key: CAMEL-19827
URL: https://issues.apache.org/jira/browse/CAMEL-19827
Project: Camel
Issue Type: Bug
Components: camel-kafka
Affects Versions: 3.14.9
Environment: 3.14.9 Issue seen.
3.13.0 Works fine.
Reporter: Kartik
Fix For: 3.14.10
When Camel-Kafka 3.13.0 version is used and if we define a Kafka endpoint with
an invalid configuration like port 1234556 which is invalid, An exception is
thrown and propagated back to a higher layer.
Exception
{code:java}
15:24:42.513 [main] [{}] INFO
org.apache.camel.impl.engine.AbstractCamelContext - Apache Camel 3.13.0
(camel-1) shutting down (timeout:45s)
15:24:42.516 [main] [{}] DEBUG
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager - Shutting down
with no inflight threads.
15:24:42.518 [main] [{}] DEBUG
org.apache.camel.impl.engine.AbstractCamelContext - Route: route1 which failed
to startup will be stopped
15:24:42.520 [main] [{}] DEBUG org.apache.camel.support.DefaultConsumer -
Shutting down consumer: Consumer[kafka:xyz?brokers=localhost:119092]
15:24:42.524 [main] [{}] INFO
org.apache.camel.impl.engine.AbstractCamelContext - Routes shutdown summary
(total:1 stopped:1)
15:24:42.524 [main] [{}] INFO
org.apache.camel.impl.engine.AbstractCamelContext - Stopped route1
(kafka:xyz)
15:24:42.525 [main] [{}] DEBUG
org.apache.camel.impl.engine.DefaultInflightRepository - Shutting down with no
inflight exchanges.
15:24:42.529 [main] [{}] INFO
org.apache.camel.impl.engine.AbstractCamelContext - Apache Camel 3.13.0
(camel-1) shutdown in 16ms (uptime:1s575ms)
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to
construct kafka consumer
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:823)
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:665)
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:646)
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:626)
at
org.apache.camel.component.kafka.DefaultKafkaClientFactory.getConsumer(DefaultKafkaClientFactory.java:34)
at
org.apache.camel.component.kafka.KafkaFetchRecords.createConsumer(KafkaFetchRecords.java:121)
at
org.apache.camel.component.kafka.KafkaFetchRecords.preInit(KafkaFetchRecords.java:80)
at
org.apache.camel.component.kafka.KafkaConsumer.doStart(KafkaConsumer.java:123)
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.startService(AbstractCamelContext.java:3498)
at
org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRouteConsumers(InternalRouteStartupManager.java:401)
at
org.apache.camel.impl.engine.InternalRouteStartupManager.doStartRouteConsumers(InternalRouteStartupManager.java:319)
at
org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:213)
at
org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:147)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3201)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2863)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2814)
at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2510)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:246)
at org.example.camel.MyCamelExample.main(MyCamelExample.java:22)
Caused by: org.apache.kafka.common.config.ConfigException: Invalid port in
bootstrap.servers: localhost:119092
at
org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:82)
at
org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:48)
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:731)
... 21 more {code}
If we upgrade the library version to 3.14.9 then we don't see this exception
propagated to a higher layer instead infinite retries are done growing log size
in GB and filling up disk space.
{code:java}
15:27:10.603 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] INFO
org.apache.kafka.common.metrics.Metrics - Metrics scheduler closed
15:27:10.603 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] INFO
org.apache.kafka.common.metrics.Metrics - Closing reporter
org.apache.kafka.common.metrics.JmxReporter
15:27:10.604 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] INFO
org.apache.kafka.common.metrics.Metrics - Metrics reporters closed
15:27:10.604 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] INFO
org.apache.kafka.common.utils.AppInfoParser - App info kafka.consumer for
consumer-df1a4884-a933-41fa-81b8-e1831627f0f6-239 unregistered
15:27:10.604 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] DEBUG
org.apache.kafka.clients.consumer.KafkaConsumer - [Consumer
clientId=consumer-df1a4884-a933-41fa-81b8-e1831627f0f6-239,
groupId=df1a4884-a933-41fa-81b8-e1831627f0f6] Kafka consumer has been closed
15:27:10.604 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] WARN
org.apache.camel.component.kafka.KafkaFetchRecords - Error creating
org.apache.kafka.clients.consumer.KafkaConsumer due Failed to construct kafka
consumer
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:823)
~[kafka-clients-2.8.1.jar:?]
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:665)
~[kafka-clients-2.8.1.jar:?]
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:646)
~[kafka-clients-2.8.1.jar:?]
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:626)
~[kafka-clients-2.8.1.jar:?]
at
org.apache.camel.component.kafka.DefaultKafkaClientFactory.getConsumer(DefaultKafkaClientFactory.java:34)
~[camel-kafka-3.14.9.jar:3.14.9]
at
org.apache.camel.component.kafka.KafkaFetchRecords.createConsumer(KafkaFetchRecords.java:126)
~[camel-kafka-3.14.9.jar:3.14.9]
at
org.apache.camel.component.kafka.KafkaFetchRecords.run(KafkaFetchRecords.java:89)
~[camel-kafka-3.14.9.jar:3.14.9]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: org.apache.kafka.common.config.ConfigException: Invalid port in
bootstrap.servers: localhost:119092
at
org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:82)
~[kafka-clients-2.8.1.jar:?]
at
org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:48)
~[kafka-clients-2.8.1.jar:?]
at
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:731)
~[kafka-clients-2.8.1.jar:?]
... 11 more
15:27:10.604 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] INFO
org.apache.camel.component.kafka.KafkaFetchRecords - Connecting Kafka consumer
thread ID xyz-Thread 0 with poll timeout of 5000 ms
15:27:10.605 [Camel (camel-1) thread #1 - KafkaConsumer[xyz]] [{}] INFO
org.apache.kafka.clients.consumer.ConsumerConfig - ConsumerConfig values:
allow.auto.create.topics = true
auto.commit.interval.ms = 5000
auto.offset.reset = latest
bootstrap.servers = [localhost:119092]
check.crcs = true
client.dns.lookup = use_all_dns_ips
client.id = consumer-df1a4884-a933-41fa-81b8-e1831627f0f6-240
client.rack =
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = true {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)