[
https://issues.apache.org/jira/browse/CAMEL-14188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17000106#comment-17000106
]
Omar Al-Safi edited comment on CAMEL-14188 at 12/19/19 2:30 PM:
----------------------------------------------------------------
In order to upgrade debezium to 1.0, Kafka in Camel will need to be upgraded to
2.4.0 as well. The reason is, Kafka connect 2.4.0 uses new attributes the
configDef which is found kafka-client common package. What we have is 2.3.1,
hence the tests fail with this error:
{code}
java.lang.NoClassDefFoundError:
org/apache/kafka/common/config/ConfigDef$CaseInsensitiveValidString
at
org.apache.kafka.connect.json.JsonConverterConfig.<clinit>(JsonConverterConfig.java:64)
at
org.apache.kafka.connect.json.JsonConverter.configure(JsonConverter.java:298)
at
org.apache.kafka.connect.json.JsonConverter.configure(JsonConverter.java:311)
at io.debezium.embedded.EmbeddedEngine.<init>(EmbeddedEngine.java:628)
at io.debezium.embedded.EmbeddedEngine.<init>(EmbeddedEngine.java:69)
at io.debezium.embedded.EmbeddedEngine$2.build(EmbeddedEngine.java:581)
at
org.apache.camel.component.debezium.DebeziumConsumer.createDbzEngine(DebeziumConsumer.java:69)
at
org.apache.camel.component.debezium.DebeziumConsumer.doStart(DebeziumConsumer.java:50)
at
org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:117)
at
org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:2892)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRouteConsumers(AbstractCamelContext.java:3219)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartRouteConsumers(AbstractCamelContext.java:3153)
at
org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3063)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2828)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2632)
at
org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2437)
at
org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2454)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2435)
at
org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:117)
at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2344)
at
org.apache.camel.test.junit4.CamelTestSupport.startCamelContext(CamelTestSupport.java:820)
at
org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:460)
at
org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:336)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.lang.ClassNotFoundException:
org.apache.kafka.common.config.ConfigDef$CaseInsensitiveValidString
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 52 more
{code}
And this {{CaseInsensitiveValidString}} only exists in kafka-clients 2.4.0.
was (Author: omarsmak):
In order to upgrade debezium to 1.0, Kafka in Camel will need to be upgraded to
2.4.0 as well. The reason is, Kafka connect 2.4.0 uses new attributes the
configDef which is found kafka-client common package. What we have is 2.3.1,
hence the tests fail with this error:
{code}
java.lang.NoClassDefFoundError:
org/apache/kafka/common/config/ConfigDef$CaseInsensitiveValidString
at
org.apache.kafka.connect.json.JsonConverterConfig.<clinit>(JsonConverterConfig.java:64)
at
org.apache.kafka.connect.json.JsonConverter.configure(JsonConverter.java:298)
at
org.apache.kafka.connect.json.JsonConverter.configure(JsonConverter.java:311)
at io.debezium.embedded.EmbeddedEngine.<init>(EmbeddedEngine.java:628)
at io.debezium.embedded.EmbeddedEngine.<init>(EmbeddedEngine.java:69)
at io.debezium.embedded.EmbeddedEngine$2.build(EmbeddedEngine.java:581)
at
org.apache.camel.component.debezium.DebeziumConsumer.createDbzEngine(DebeziumConsumer.java:69)
at
org.apache.camel.component.debezium.DebeziumConsumer.doStart(DebeziumConsumer.java:50)
at
org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:117)
at
org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:2892)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRouteConsumers(AbstractCamelContext.java:3219)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartRouteConsumers(AbstractCamelContext.java:3153)
at
org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3063)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2828)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2632)
at
org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2437)
at
org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2454)
at
org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2435)
at
org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:117)
at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2344)
at
org.apache.camel.test.junit4.CamelTestSupport.startCamelContext(CamelTestSupport.java:820)
at
org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:460)
at
org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:336)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.lang.ClassNotFoundException:
org.apache.kafka.common.config.ConfigDef$CaseInsensitiveValidString
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 52 more
{code}
And this {{CaseInsensitiveValidString}} it only exists in kafka-clients 2.4.0.
> Upgrade debezium to 1.0 Final
> -----------------------------
>
> Key: CAMEL-14188
> URL: https://issues.apache.org/jira/browse/CAMEL-14188
> Project: Camel
> Issue Type: Task
> Components: camel-debezium
> Reporter: Claus Ibsen
> Assignee: Omar Al-Safi
> Priority: Major
> Fix For: 3.1.0
>
>
> Lets upgrade to latest release as the current 0.10 release is a very early
> release and its not a 1.0 GA production ready version.
> So IMHO its better to follow the 1.0.x release train and be closer to 1.0 GA
> when it hit the street later
--
This message was sent by Atlassian Jira
(v8.3.4#803005)