[
https://issues.apache.org/jira/browse/SM-4641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17275489#comment-17275489
]
Jean-Baptiste Onofré commented on SM-4641:
------------------------------------------
I already fixed that in Decanter (decanter does't use the SMX bundle, it embeds
kafka client as private package):
[https://github.com/apache/karaf-decanter/pull/225]
I gonna fix that in SMX bundles as well.
> Bundle kafka-clients are missing jackson-databind import
> ---------------------------------------------------------
>
> Key: SM-4641
> URL: https://issues.apache.org/jira/browse/SM-4641
> Project: ServiceMix
> Issue Type: Bug
> Components: bundles
> Reporter: Lukas Holthof
> Assignee: Jean-Baptiste Onofré
> Priority: Major
> Fix For: bundles-2021.01
>
>
> I am using org.apache.servicemix.bundles.kafka-clients in version 2.2.1_1.
> After updating to 2.6.0_1 the application fails with:
> {code:java}
> 2020 12 10
> 07_30_02#+00#ERROR#org.apache.kafka.common.utils.KafkaThread###kafka-producer-network-thread
> | MPLQueueProducer-1607585400245#na###Uncaught exception in thread
> 'kafka-producer-network-thread \|
> MPLQueueProducer-1607585400245':java.lang.NoClassDefFoundError:
> org/apache/kafka/common/requests/ApiVersionsRequest$Builder : cannot
> initialize class because prior initialization attempt failed
> at
> org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555)
> at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
> at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240)
> at java.lang.Thread.run(Thread.java:836)
> Caused by: java.lang.ExceptionInInitializerError:
> java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonNode
> at
> org.apache.kafka.common.requests.ApiVersionsRequest$Builder.<clinit>(ApiVersionsRequest.java:36)
> at
> org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555)
> at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
> at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240)
> at java.lang.Thread.run(Thread.java:836)
> caused by: java.lang.ClassNotFoundException:
> com.fasterxml.jackson.databind.JsonNode not found by
> org.apache.servicemix.bundles.kafka-clients [170]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639)
> at
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:413)
> at
> org.apache.kafka.common.requests.ApiVersionsRequest$Builder.<clinit>(ApiVersionsRequest.java:36)
> at
> org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555)
> at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
> at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240)
> at java.lang.Thread.run(Thread.java:836)at
> java.lang.Class.setExceptionThrownDuringClinit(Class.java:3685)
> ... 5 common frames omitted
> |
> java.lang.NoClassDefFoundError:
> org/apache/kafka/common/requests/ApiVersionsRequest$Builder : cannot
> initialize class because prior initialization attempt failed
> at
> org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555)
> at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
> at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240)
> at java.lang.Thread.run(Thread.java:836)
> Caused by: java.lang.ExceptionInInitializerError:
> java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonNode
> at
> org.apache.kafka.common.requests.ApiVersionsRequest$Builder.<clinit>(ApiVersionsRequest.java:36)
> at
> org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555)
> at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
> at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240)
> at java.lang.Thread.run(Thread.java:836)
> caused by: java.lang.ClassNotFoundException:
> com.fasterxml.jackson.databind.JsonNode not found by
> org.apache.servicemix.bundles.kafka-clients [170]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639)
> at
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:413)
> at
> org.apache.kafka.common.requests.ApiVersionsRequest$Builder.<clinit>(ApiVersionsRequest.java:36)
> at
> org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555)
> at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
> at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240)
> at java.lang.Thread.run(Thread.java:836)at
> java.lang.Class.setExceptionThrownDuringClinit(Class.java:3685)
> ... 5 common frames omitted
> {code}
> Running on version 2.5.0_1, it does not show this error. Most likely kafka is
> not using jackson-databind at this point in earlier versions, but that is
> just my assumption.
> I found a related issue in the camel community:
> https://issues.apache.org/jira/browse/CAMEL-15752
> Deviating from their resolution I do not think it is actually a version
> conflict, but the servicemix bundle is just missing the import. By adding
> this to the consuming project this import gets added. But ideally this would
> be added to the servicemix bundle, so not every consumer of the bundle has to
> care about it. In OSGI this import is a must. What do you think?
> Another reported issue similar to the one in the camel community:
> [https://stackoverflow.com/questions/63947560/error-org-apache-kafka-common-utils-kafkathread-uncaught-exception-in-thread]
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)