-
Bug
-
Resolution: Obsolete
-
Major
-
3.0.8.Final, 3.1.0.Beta1
-
False
-
-
False
-
-
With any defined transform in application.properties, have the configure method throw an sort of exception, such as ConnectException and Debezium Server spins until it throws a StackOverflow Exception:
2025-03-10 18:37:01,077 ERROR [io.deb.ser.ins.tra.AbstractAddQnaHeader] (main) The 'name' value is invalid: A value is required 2025-03-10 18:37:01,078 ERROR [io.deb.ser.ConnectorLifecycle] (main) Connector completed: success = 'false', message = 'Failed to instantiate required class', error = 'org.apache.kafka.connect.errors.ConnectException: Failed to configure transformation, see logs for details': org.apache.kafka.connect.errors.ConnectException: Failed to configure transformation, see logs for details at io.debezium.server.instructlab.transforms.AbstractAddQnaHeader.configure(AbstractAddQnaHeader.java:98) at io.debezium.embedded.Transformations.getTransformation(Transformations.java:78) at io.debezium.embedded.Transformations.<init>(Transformations.java:52) at io.debezium.embedded.async.AsyncEmbeddedEngine.<init>(AsyncEmbeddedEngine.java:178) at io.debezium.embedded.async.AsyncEmbeddedEngine$AsyncEngineBuilder.build(AsyncEmbeddedEngine.java:958) at io.debezium.server.DebeziumServer.start(DebeziumServer.java:176)
which eventually ends in the test suite as:
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:634)
at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:718)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:248)
at io.quarkus.test.junit.QuarkusTestExtension.ensureStarted(QuarkusTestExtension.java:601)
at io.quarkus.test.junit.QuarkusTestExtension.beforeAll(QuarkusTestExtension.java:651)
... 1 more
Caused by: java.lang.StackOverflowError
at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:61)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:49)
at io.quarkus.arc.impl.ComputingCache.getValue(ComputingCache.java:40)
at io.quarkus.arc.impl.ArcContainerImpl.getResolvedBeans(ArcContainerImpl.java:970)
at io.quarkus.arc.impl.Instances.resolveBeans(Instances.java:41)
at io.quarkus.arc.impl.Instances.resolveBeans(Instances.java:36)
at io.quarkus.arc.impl.InstanceImpl.resolve(InstanceImpl.java:339)
at io.quarkus.arc.impl.InstanceImpl.<init>(InstanceImpl.java:169)
at io.quarkus.arc.impl.InstanceImpl.forInjection(InstanceImpl.java:130)
at io.quarkus.arc.impl.InstanceProvider.get(InstanceProvider.java:42)
at io.quarkus.arc.impl.InstanceProvider.get(InstanceProvider.java:18)
at io.debezium.server.instructlab.InstructLabSinkConsumer_Bean.doCreate(Unknown Source)
at io.debezium.server.instructlab.InstructLabSinkConsumer_Bean.create(Unknown Source)
at io.debezium.server.instructlab.InstructLabSinkConsumer_Bean.create(Unknown Source)
at io.debezium.server.DebeziumServer.start(DebeziumServer.java:138)
at io.debezium.server.DebeziumServer_Bean.doCreate(Unknown Source)
at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.c0(Unknown Source)
at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.computeIfAbsent(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
at io.debezium.server.DebeziumServer_Observer_connectorCompleted_MccH1SubLPJTjSGMU5WqErutjC4.notify(Unknown Source)
at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:351)
at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:329)
at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:80)
at io.debezium.server.ConnectorLifecycle.handle(ConnectorLifecycle.java:89)
at io.debezium.server.ConnectorLifecycle_ClientProxy.handle(Unknown Source)
at io.debezium.embedded.async.AsyncEmbeddedEngine.<init>(AsyncEmbeddedEngine.java:186)
This needs to be verified in runtime; this was only via tests, but I suspect a similar outcome most likely.