I am trying to load kafka topic data into ignite caches with the help of Apache Ignite Sink connector. Facing following issue. All required jars are in place along with ignite configuration (xml) file.
I am pretty unsure why it is throwing ConnectException and NoClassDefFoundException for IgniteSinkTask$StreamerContext$Holder. Due to some reason java is unable to run these classes.
public static class StreamerContext {
private StreamerContext() {
}
public static Ignite getIgnite() {
return IgniteSinkTask.StreamerContext.Holder.IGNITE;
}
public static IgniteDataStreamer getStreamer() {
return IgniteSinkTask.StreamerContext.Holder.STREAMER;
}
private static class Holder {
private static final Ignite IGNITE;
private static final IgniteDataStreamer STREAMER;
private Holder() {
}
static {
IGNITE = Ignition.start(IgniteSinkTask.igniteConfigFile);
STREAMER = IGNITE.dataStreamer(IgniteSinkTask.cacheName);
}
}
}
How can I resolve this? Thanks in advance.
[ERROR] 2021-08-27 06:13:58,827 [task-thread-IgniteSinkConnectorConnector_0-0] org.apache.kafka.connect.runtime.WorkerSinkTask deliverMessages - WorkerSinkTask{id=IgniteSinkConnectorConnector_0-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted. Error: Could not initialize class org.apache.ignite.stream.kafka.connect.IgniteSinkTask$StreamerContext$Holder java.lang.NoClassDefFoundError: Could not initialize class org.apache.ignite.stream.kafka.connect.IgniteSinkTask$StreamerContext$Holder at org.apache.ignite.stream.kafka.connect.IgniteSinkTask$StreamerContext.getStreamer(IgniteSinkTask.java:198) at org.apache.ignite.stream.kafka.connect.IgniteSinkTask.put(IgniteSinkTask.java:118) at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:586) at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:329) at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:232) at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:201) at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:185) at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:234) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) [ERROR] 2021-08-27 06:13:58,828 [task-thread-IgniteSinkConnectorConnector_0-0] org.apache.kafka.connect.runtime.WorkerTask doRun - WorkerSinkTask{id=IgniteSinkConnectorConnector_0-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted org.apache.kafka.connect.errors.ConnectException: Exiting WorkerSinkTask due to unrecoverable exception. at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:614) at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:329) at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:232) at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:201) at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:185) at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:234) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.ignite.stream.kafka.connect.IgniteSinkTask$StreamerContext$Holder at org.apache.ignite.stream.kafka.connect.IgniteSinkTask$StreamerContext.getStreamer(IgniteSinkTask.java:198) at org.apache.ignite.stream.kafka.connect.IgniteSinkTask.put(IgniteSinkTask.java:118) at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:586)