Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes in Confluent 6.1.1 with a NoClassDefFoundError - JsonParseException not in Classpath #33

Closed
Protoss78 opened this issue Jun 9, 2021 · 2 comments

Comments

@Protoss78
Copy link

Following setup:

  • Confluent Enterprise 6.1.1 Dev Environment on Ubuntu 21.04
  • OpenJDK 1.8.0_292

Installed Connectors:

  • JDBC Connector 10.1.1
  • Confluent SMT Transformations 1.3.2
  • Confluent Replicator 6.1.1
  • MariaDB JDBC Client 2.7.3
  • Schema Registry Transfer SMT 0.2.0

Steps to reproduce:

  1. Start Confluent
  2. Import a table from a MariaDB database in Avro Format
  3. Use Confluent Replicator with Schema Registry Transfer SMT to replicate input test topic to a different output topic on the same cluster.
  4. Following Exception is thrown afterwards

[2021-06-09 09:15:42,905] ERROR WorkerSourceTask{id=test.replicate-0} Task threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask:187) java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException at cricket.jmoore.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaByIdFromRegistry(CachedSchemaRegistryClient.java:124) at cricket.jmoore.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getBySubjectAndId(CachedSchemaRegistryClient.java:190) at cricket.jmoore.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getById(CachedSchemaRegistryClient.java:169) at cricket.jmoore.kafka.connect.transforms.SchemaRegistryTransfer.copySchema(SchemaRegistryTransfer.java:216) at cricket.jmoore.kafka.connect.transforms.SchemaRegistryTransfer.apply(SchemaRegistryTransfer.java:179) at org.apache.kafka.connect.runtime.TransformationChain.lambda$apply$0(TransformationChain.java:50) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:146) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:180) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execute(RetryWithToleranceOperator.java:122) at org.apache.kafka.connect.runtime.TransformationChain.apply(TransformationChain.java:50) at org.apache.kafka.connect.runtime.WorkerSourceTask.sendRecords(WorkerSourceTask.java:339) at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:264) at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:185) at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:235) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.JsonParseException at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:419) at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) ... 19 more

@OneCricketeer
Copy link
Owner

OneCricketeer commented Jun 9, 2021

Code is untested on CP 6.1.1, but I assume that it uses newer Jackson classes rather than the Jackson 1.x Codehaus classes that this project uses, so indeed they wouldn't exist on the classpath

You try and checkout and build the fork from #29 to get the upgraded JSON classes

@OneCricketeer
Copy link
Owner

Error is duplicate of #25

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants