You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "Anup.Anand" <An...@target.com> on 2021/03/25 14:53:57 UTC

Unable to load JKS file while resuming Camel Kafka consumer

Hi Community,

I have been trying to suspend and resume a camel route using it's route id. This route reads from a Kafka topic and writes to a SEDA. When the route is programmatically resumed, it just stops. After debugging what I find is that an InterruptedException is not allowing to load the Keystore JKS file.
It throws – ‘org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Failed to load SSL keystore
/Users/User1/IdeaProjects/app1-loader-v1/app1-loader/ssl-config/app1.sample.com-keystore.jks of type JKS’.

On the contrary, the camel-kafka route successfully starts using the same JKS when application boots up.

Providing the logs from application. Need help.

****
[DEBUG] 2021-03-23 21:48:56,366 CircuitBreakerAutoTransitionThread com.sample.app1.kafka.component.ExtendedKafkaProducer - {} - op=EXTENDED_KAFKA_PRODUCER, status=OK, desc=[Transition Status] Circuit Breaker::CB-ORDER_UPDATE_PUB Transition::OPEN_TO_HALF_OPEN

[DEBUG] 2021-03-23 21:49:30,524 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.InternalRouteStartupManager - {} - Warming up route id: ROUTE-1 having autoStartup=true

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Using ExecutorService: org.apache.camel.util.concurrent.SizedScheduledExecutorService@37d3aa8c[ErrorHandlerRedeliveryTask] for redeliveries on error handler: DefaultErrorHandler[throttle1]

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Using ExecutorService: org.apache.camel.util.concurrent.SizedScheduledExecutorService@37d3aa8c[ErrorHandlerRedeliveryTask] for redeliveries on error handler: DefaultErrorHandler[log2]

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultProducer - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Starting producer: Producer[seda://seda_1?blockWhenFull=true&concurrentConsumers=1&size=100]

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Using ExecutorService: org.apache.camel.util.concurrent.SizedScheduledExecutorService@37d3aa8c[ErrorHandlerRedeliveryTask] for redeliveries on error handler: DefaultErrorHandler[seda://seda_1?blockWhenFull=true&concurrentConsumers=1&size=100]

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.InternalRouteStartupManager - {} - Route: ROUTE-1 >>> Route[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer -> null]

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.InternalRouteStartupManager - {} - Starting consumer (order: 1002) on route: ROUTE-1

[DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultConsumer - {} - Init consumer: Consumer[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer]

[INFO] 2021-03-23 21:49:30,548 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Starting Kafka consumer on topic: app1-orders with breakOnFirstError: false

[DEBUG] 2021-03-23 21:49:30,548 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultConsumer - {} - Starting consumer: Consumer[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer]

[DEBUG] 2021-03-23 21:49:30,548 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.BaseExecutorServiceManager - {} - Created new ThreadPool for source: kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer with name: KafkaConsumer[app1-orders]. -> org.apache.camel.util.concurrent.RejectableThreadPoolExecutor@288d7bf[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0][KafkaConsumer[app1-orders]]

[DEBUG] 2021-03-23 21:49:30,549 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Kafka consumer groupId is test_0081

[INFO] 2021-03-23 21:49:30,549 CircuitBreakerAutoTransitionThread org.apache.kafka.clients.consumer.ConsumerConfig - {} - ConsumerConfig values:

                allow.auto.create.topics = false

                auto.commit.interval.ms = 5000

                auto.offset.reset = latest

                bootstrap.servers = [kafka-dce-app1.dev.sample.com:9093]

                check.crcs = true

                client.dns.lookup = default

                client.id =

                client.rack =

                connections.max.idle.ms = 540000

                default.api.timeout.ms = 60000

                enable.auto.commit = true

                exclude.internal.topics = true

                fetch.max.bytes = 10485760

                fetch.max.wait.ms = 500

                fetch.min.bytes = 102400

                group.id = test_0081

                group.instance.id = null

                heartbeat.interval.ms = 3000

                interceptor.classes = []

                internal.leave.group.on.close = true

                isolation.level = read_uncommidced

                key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer

                max.partition.fetch.bytes = 1048576

                max.poll.interval.ms = 300000

                max.poll.records = 500

                metadata.max.age.ms = 300000

                metric.reporters = []

                metrics.num.samples = 2

                metrics.recording.level = INFO

                metrics.sample.window.ms = 30000

                partition.assignment.strategy = [org.apache.kafka.clients.consumer.RoundRobinAssignor]

                receive.buffer.bytes = 65536

                reconnect.backoff.max.ms = 1000

                reconnect.backoff.ms = 50

                request.timeout.ms = 40000

                retry.backoff.ms = 100

                sasl.client.callback.handler.class = null

                sasl.jaas.config = null

                sasl.kerberos.kinit.cmd = /usr/bin/kinit

                sasl.kerberos.min.time.before.relogin = 60000

                sasl.kerberos.service.name = null

                sasl.kerberos.ticket.renew.jidcer = 0.05

                sasl.kerberos.ticket.renew.window.factor = 0.8

                sasl.login.callback.handler.class = null

                sasl.login.class = null

                sasl.login.refresh.buffer.seconds = 300

                sasl.login.refresh.min.period.seconds = 60

                sasl.login.refresh.window.factor = 0.8

                sasl.login.refresh.window.jidcer = 0.05

                sasl.mechanism = GSSAPI

                security.protocol = SSL

                send.buffer.bytes = 131072

                session.timeout.ms = 10000

                ssl.cipher.suites = null

                ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]

                ssl.endpoint.identification.algorithm =

                ssl.key.password = null

                ssl.keymanager.algorithm = SunX509

                ssl.keystore.location = /Users/User1/IdeaProjects/app1-loader-v1/app1-loader/ssl-config/app1.sample.com-keystore.jks

                ssl.keystore.password = [hidden]

                ssl.keystore.type = JKS

                ssl.protocol = TLS

                ssl.provider = null

                ssl.secure.random.implementation = null

                ssl.trustmanager.algorithm = PKIX

                ssl.truststore.location = /Users/User1/IdeaProjects/app1-loader-v1/app1-loader/ssl-config/app1.sample.com-truststore.jks

                ssl.truststore.password = [hidden]

                ssl.truststore.type = JKS

                value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer


[DEBUG] 2021-03-23 21:49:30,549 CircuitBreakerAutoTransitionThread org.apache.kafka.clients.consumer.KafkaConsumer - {} - [Consumer clientId=consumer-2, groupId=test_0081] Initializing the Kafka consumer

[DEBUG] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.kafka.clients.consumer.KafkaConsumer - {} - [Consumer clientId=consumer-2, groupId=test_0081] Kafka consumer has been closed

[INFO] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Stopping Kafka consumer on topic: app1-orders

[DEBUG] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Shutting down Kafka consumer worker threads with timeout 30000 millis

[DEBUG] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.BaseExecutorServiceManager - {} - Shutdown of ExecutorService: org.apache.camel.util.concurrent.RejectableThreadPoolExecutor@288d7bf[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0][KafkaConsumer[app1-orders]] is shutdown: true and terminated: true took: 0ms.

[DEBUG] 2021-03-23 21:49:32,263 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultConsumer - {} - Stopping consumer: Consumer[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer]

[DEBUG] 2021-03-23 21:49:32,263 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultProducer - {} - Stopping producer: Producer[seda://seda_1?blockWhenFull=true&concurrentConsumers=1&size=100]
****

Thanks,
Anup