Skip to content

Kafka event receiver stops working after empty message #2185

@martinweiler

Description

@martinweiler

Sending an empty Kafka message results in the following error:

2025-12-09 16:36:47,382 ERROR [io.sma.rea.mes.provider] (executor-thread-1) SRMSG00200: The method org.kie.kogito.app.TravelersEventReceiver#onEvent has thrown an exception: java.io.UncheckedIOException: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1]
	at org.kie.kogito.addon.quarkus.messaging.common.AbstractQuarkusCloudEventReceiver.produce(AbstractQuarkusCloudEventReceiver.java:58)
	at org.kie.kogito.app.TravelersEventReceiver.onEvent(TravelersEventReceiver.java:47)
	at org.kie.kogito.app.TravelersEventReceiver_ClientProxy.onEvent(Unknown Source)
	at org.kie.kogito.app.TravelersEventReceiver_SmallRyeMessagingInvoker_onEvent_767963bef278f2970bf32edb4ba385196aa18167.invoke(Unknown Source)
	at io.smallrye.reactive.messaging.providers.AbstractMediator.lambda$invokeBlocking$15(AbstractMediator.java:194)
	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromDeferredSupplier.subscribe(UniCreateFromDeferredSupplier.java:25)
	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromDeferredSupplier.subscribe(UniCreateFromDeferredSupplier.java:36)
	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
	at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:51)
	at io.smallrye.mutiny.groups.UniSubscribe.with(UniSubscribe.java:110)
	at io.smallrye.mutiny.groups.UniSubscribe.with(UniSubscribe.java:88)
	at io.vertx.mutiny.core.Context$1.handle(Context.java:172)
	at io.vertx.mutiny.core.Context$1.handle(Context.java:170)
	at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$5(ContextImpl.java:205)
	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
	at io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221)
	at io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56)
	at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:81)
	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
	at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1]
	at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
	at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:5022)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4921)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3868)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3836)
	at org.kie.kogito.event.impl.StringCloudEventConverter.toValue(StringCloudEventConverter.java:37)
	at org.kie.kogito.event.impl.StringCloudEventConverter.toValue(StringCloudEventConverter.java:27)
	at org.kie.kogito.event.impl.AbstractCloudEventConverter.convert(AbstractCloudEventConverter.java:35)
	at org.kie.kogito.event.impl.AbstractCloudEventConverter.convert(AbstractCloudEventConverter.java:27)
	at org.kie.kogito.addon.quarkus.messaging.common.QuarkusCloudEventConverter.convert(QuarkusCloudEventConverter.java:49)
	at org.kie.kogito.addon.quarkus.messaging.common.QuarkusCloudEventConverter.convert(QuarkusCloudEventConverter.java:37)
	at org.kie.kogito.addon.quarkus.messaging.common.AbstractQuarkusCloudEventReceiver.produce(AbstractQuarkusCloudEventReceiver.java:55)
	... 27 more

After this error, no more messages are handled by the consumer.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

📋 Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions