Open christophd opened 5 months ago
Tests are also failing locally. In one of the Pipes running I can see the following error:
Exception in thread "Camel (camel-1) thread #4 - timer://tick" java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.base.GeneratorBase.<init>(int, com.fasterxml.jackson.core.ObjectCodec, com.fasterxml.jackson.core.io.IOContext)'
at com.fasterxml.jackson.dataformat.avro.AvroGenerator.<init>(AvroGenerator.java:157)
at com.fasterxml.jackson.dataformat.avro.AvroFactory._createGenerator(AvroFactory.java:474)
at com.fasterxml.jackson.dataformat.avro.AvroFactory.createGenerator(AvroFactory.java:406)
at com.fasterxml.jackson.dataformat.avro.AvroFactory.createGenerator(AvroFactory.java:394)
at com.fasterxml.jackson.dataformat.avro.AvroFactory.createGenerator(AvroFactory.java:21)
at com.fasterxml.jackson.databind.ObjectWriter.createGenerator(ObjectWriter.java:738)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1098)
at org.apache.camel.component.jackson.AbstractJacksonDataFormat.marshal(AbstractJacksonDataFormat.java:155)
at org.apache.camel.support.processor.MarshalProcessor.process(MarshalProcessor.java:64)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:462)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:438)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:163)
at org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:354)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:330)
at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:293)
at org.apache.camel.component.timer.TimerConsumer$1.doRun(TimerConsumer.java:164)
at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:136)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
@oscerd does this ring a bell?
This is the Pipe that hits the error when running with Apache Camel 4.3.0 https://github.com/apache/camel-kamelets/blob/main/tests/camel-kamelets-itest/src/test/resources/avro-deserialize-pipe.yaml
We updated Jackson to 2.16.1 in 4.4.0 and the signature of GeneratorBase constructor has been changed, so I think we need to check what is happening at dependency tree level. It seems we have mixed versions.
@christophd I guess is yaks jackson version: https://github.com/citrusframework/yaks/blob/main/java/pom.xml#L105
I verified that camel-jackson-avro use the correct jackson-databind version, same for webhook and the other components involved, so I think yaks-jbang is bringing in the dependency.
The Apache Camel version used in yaks-jbang is controlled by the property in https://github.com/apache/camel-kamelets/blob/main/tests/camel-kamelets-itest/src/test/resources/citrus-application.properties#L11
We need to keep this in sync with the Apache Camel version used in the Maven POM in camel-kamelets repository. Then the Pipe runtime should be using the correct Apache Camel version.
YAKS tests in CI jobs are failing for some time.