-
Bug
-
Resolution: Not a Bug
-
Blocker
-
Camel-K-GA
-
None
-
False
-
False
-
%
-
Todo
-
Undefined
-
-
While working on something different, I've spotted some regression happening on Camel K GA. The first one is described upstream: https://github.com/apache/camel-k/issues/2524
It is easy to solve and a patch is going to be provided soon after merging upstream. However, I've tested the patch on the product repo and I spotted a more critical issue. The KameletBinding Error Handler is broken with the following runtime error message:
[1] 2021-07-23 09:38:23,321 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main) Failed to start application: org.snakeyaml.engine.v2.exceptions.YamlEngineException: org.apache.camel.dsl.yaml.common.exception.UnsupportedNodeTypeException: Unsupported type (MAPPING) for node: <org.snakeyaml.engine.v2.nodes.MappingNode (tag=tag:yaml.org,2002:map, values={ key=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=from)>; value=917568725 }{ key=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=id)>; value=<NodeTuple keyNode=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=id)>; valueNode=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=error-handler)>> })> [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.construct(BaseConstructor.java:93) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructSingleDocument(BaseConstructor.java:74) [1] at org.snakeyaml.engine.v2.api.Load.loadOne(Load.java:84) [1] at org.snakeyaml.engine.v2.api.Load.loadFromInputStream(Load.java:96) [1] at org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader$1.configure(YamlRoutesBuilderLoader.java:113) [1] at org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:540) [1] at org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:487) [1] at org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:462) [1] at org.apache.camel.impl.engine.AbstractCamelContext.addRoutes(AbstractCamelContext.java:1161) [1] at org.apache.camel.main.RoutesConfigurer.configureRoutes(RoutesConfigurer.java:200) [1] at org.apache.camel.quarkus.main.CamelMain.configureRoutes(CamelMain.java:70) [1] at org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:546) [1] at org.apache.camel.quarkus.main.CamelMain.initCamelContext(CamelMain.java:116) [1] at org.apache.camel.quarkus.main.CamelMain.doInit(CamelMain.java:86) [1] at org.apache.camel.support.service.BaseService.init(BaseService.java:83) [1] at org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:137) [1] at org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49) [1] at org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45) [1] at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot-173480958.deploy_0(CamelBootstrapProcessor$boot-173480958.zig:101) [1] at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot-173480958.deploy(CamelBootstrapProcessor$boot-173480958.zig:40) [1] at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:534) [1] at io.quarkus.runtime.Application.start(Application.java:90) [1] at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:100) [1] at io.quarkus.runtime.Quarkus.run(Quarkus.java:66) [1] at io.quarkus.runtime.Quarkus.run(Quarkus.java:42) [1] at io.quarkus.runtime.Quarkus.run(Quarkus.java:119) [1] at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29) [1] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [1] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [1] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [1] at java.base/java.lang.reflect.Method.invoke(Method.java:566) [1] at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:48) [1] at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:25) [1] Caused by: org.apache.camel.dsl.yaml.common.exception.UnsupportedNodeTypeException: Unsupported type (MAPPING) for node: <org.snakeyaml.engine.v2.nodes.MappingNode (tag=tag:yaml.org,2002:map, values={ key=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=from)>; value=917568725 }{ key=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=id)>; value=<NodeTuple keyNode=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=id)>; valueNode=<org.snakeyaml.engine.v2.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=error-handler)>> })> [1] at org.apache.camel.dsl.yaml.common.YamlSupport.creteEndpointUri(YamlSupport.java:278) [1] at org.apache.camel.dsl.yaml.common.YamlSupport.creteEndpoint(YamlSupport.java:290) [1] at org.apache.camel.dsl.yaml.deserializers.EndpointProducerDeserializersResolver.lambda$resolve$0(EndpointProducerDeserializersResolver.java:344) [1] at org.apache.camel.dsl.yaml.common.YamlDeserializationContext$2.construct(YamlDeserializationContext.java:194) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:140) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObject(BaseConstructor.java:128) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:206) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructSequence(BaseConstructor.java:199) [1] at org.snakeyaml.engine.v2.constructor.StandardConstructor$ConstructYamlSeq.construct(StandardConstructor.java:340) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:140) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObject(BaseConstructor.java:128) [1] at org.snakeyaml.engine.v2.constructor.BaseConstructor.construct(BaseConstructor.java:87) [1] ... 32 more
The first assessment point that it was a regression introduced in this commit: https://github.com/jboss-fuse/camel-k/commit/9a0caedeb8430ff436852bcc4b8498a7202da596
Apparently the usage of template instead of flow scrambled the validity of the error handler.