Skip to content

Camel-elasticsearch-rest-kafka-connector throws java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager #259

Closed
@alessandromonguzzi

Description

@alessandromonguzzi

Download camel-elasticsearch-rest-kafka-connector from https://repo1.maven.org/maven2/org/apache/camel/kafkaconnector/camel-elasticsearch-rest-kafka-connector/0.2.0/camel-elasticsearch-rest-kafka-connector-0.2.0-package.zip
The log4j2 dependencies are missing and they cause NoClassDefFoundError when the connector is used.

To reproduce it with Strimzi follow these steps:

  1. Start Kafka broker cluster
  2. Start KafkaConnectS2I cluster
  3. Prepare the connector plugin and start a new KafkaConnectS2I build:
mkdir connectors
curl https://repo1.maven.org/maven2/org/apache/camel/kafkaconnector/camel-elasticsearch-rest-kafka-connector/0.2.0/camel-elasticsearch-rest-kafka-connector-0.2.0-package.zip > connectors/file.zip
unzip -d connectors file.zip
rm connectors/file.zip
oc start-build my-connect-cluster-connect --from-dir=./connectors --follow

Similar things can be done on local installation.

When the connector is firstly invoked, the following error occurs:

Caused by: java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
	at org.elasticsearch.rest.BytesRestResponse.<clinit>(BytesRestResponse.java:120)
	at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1727)
	at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1704)
	at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1467)
	at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)
	at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
	at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:836)
	at org.apache.camel.component.elasticsearch.ElasticsearchProducer.process(ElasticsearchProducer.java:169)
	at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:67)
	... 28 more
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 37 more

In attach the full log file:
my-connect-cluster-connect-2-cc4nf-my-connect-cluster-connect.log

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions