Closed quarkus-super-heroes-bot closed 2 months ago
The build is still failing:
The build is still failing:
The build is still failing:
The build is still failing:
The build is still failing:
Now that Quarkus 2.13.0.Final
has been released, can we mak sure this gets addressed?
I'll test with quarkusio/quarkus-super-heroes#138 today and if everything is ok I'll merge it today.
Interesting that dependabot hasn't yet done it's PR for the upgrade.
@geoand I don't see that 2.13.0.Final
has been released.
https://search.maven.org/artifact/io.quarkus.platform/quarkus-bom - 2.13.0.Final
is not there.
The full platform is not released yet, but the core (io.quarkus:quarkus-bom
) is
I verified locally that with 2.13.0.Final this failure disappears. I will merge quarkusio/quarkus-super-heroes#138 once the platform has been released.
The build is still failing:
@geoand quarkusio/quarkus-super-heroes#138 has been merged now that 2.13.0.Final
is out. This thread should turn green tomorrow.
Great, thanks
The build is still failing:
@geoand I'll take a look at this failure a little later this morning. This is new.
I also noticed in the 2.13 release notes that this previous breaking change (need to manually add the stork filter of using the jaxrs client directly) was not mentioned. I can add it via a PR if you tell me which file in which repo to edit.
The breaking changes are tracked in the wiki - I don't think you can make a pull request to it (cc @gsmet )
@geoand I can reproduce this new issue locally. I'm not sure yet what the problem is, but something has changed on main
which is causing these tests to now break.
something to do with reactive messaging and messages not being ack'ed
cc @ozangunalp ^
4pS2DHvMeaN1_ojR7eO4haW8ao] - Writing message [{"name":"Chewbacca","score":1}]
08:23:56 INFO [io.qu.sa.su.st.en.WebSocketsIT$EndpointTestClient] (globalEventExecutor-1-3) Got message: [{"name":"Chewbacca","score":1}]
java.lang.Exception: Missing onFailure/onError handler in the subscriber
at io.smallrye.mutiny.subscription.Subscribers.lambda$static$0(Subscribers.java:19)
at io.smallrye.mutiny.subscription.Subscribers$CallbackBasedSubscriber.onFailure(Subscribers.java:94)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription.drain(ReplayOperator.java:111)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription.access$400(ReplayOperator.java:47)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber.lambda$triggerDrainLoops$0(ReplayOperator.java:171)
at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber.triggerDrainLoops(ReplayOperator.java:171)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber.onFailure(ReplayOperator.java:145)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.isEmptyOrCompleted(MultiPublishOp.java:342)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.drain(MultiPublishOp.java:393)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.onFailure(MultiPublishOp.java:200)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.handleTerminationIfDone(MultiFlatMapOp.java:513)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.ifDoneOrCancelled(MultiFlatMapOp.java:488)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drainLoop(MultiFlatMapOp.java:288)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drain(MultiFlatMapOp.java:268)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.onFailure(MultiFlatMapOp.java:212)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.subscription.SafeSubscriber.onError(SafeSubscriber.java:148)
at io.smallrye.mutiny.helpers.HalfSerializer.onError(HalfSerializer.java:56)
at io.smallrye.mutiny.helpers.StrictMultiSubscriber.onFailure(StrictMultiSubscriber.java:91)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.isEmptyOrCompleted(MultiPublishOp.java:342)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.drain(MultiPublishOp.java:393)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.onFailure(MultiPublishOp.java:200)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.reactive.messaging.providers.locals.ContextDecorator$ContextMulti$ContextProcessor.onFailure(ContextDecorator.java:68)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.subscription.SafeSubscriber.onError(SafeSubscriber.java:148)
at io.smallrye.mutiny.helpers.HalfSerializer.onError(HalfSerializer.java:56)
at io.smallrye.mutiny.helpers.StrictMultiSubscriber.onFailure(StrictMultiSubscriber.java:91)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.handleTerminationIfDone(MultiFlatMapOp.java:513)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.onItem(MultiFlatMapOp.java:187)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onItem(MultiOperatorProcessor.java:100)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onItem(MultiOperatorProcessor.java:100)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiMapOp$MapProcessor.onItem(MultiMapOp.java:50)
at io.smallrye.mutiny.subscription.MultiSubscriber.onNext(MultiSubscriber.java:61)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.tryEmit(MultiFlatMapOp.java:230)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapInner.onItem(MultiFlatMapOp.java:607)
at io.smallrye.mutiny.operators.multi.MultiSelectWhereOp$MultiSelectWhereProcessor.onItem(MultiSelectWhereOp.java:58)
at io.smallrye.mutiny.operators.multi.MultiScanWithSeedOp$ScanSubscriber.onItem(MultiScanWithSeedOp.java:108)
at io.smallrye.mutiny.operators.multi.MultiScanWithSeedOp$ScanSeedProcessor.onItem(MultiScanWithSeedOp.java:154)
at io.smallrye.mutiny.subscription.MultiSubscriber.onNext(MultiSubscriber.java:61)
at io.smallrye.mutiny.operators.multi.MultiGroupByOp$State.drain(MultiGroupByOp.java:400)
at io.smallrye.mutiny.operators.multi.MultiGroupByOp$State.request(MultiGroupByOp.java:329)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.subscription.SwitchableSubscriptionSubscriber.setOrSwitchUpstream(SwitchableSubscriptionSubscriber.java:206)
at io.smallrye.mutiny.subscription.SwitchableSubscriptionSubscriber.onSubscribe(SwitchableSubscriptionSubscriber.java:108)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onSubscribe(MultiOperatorProcessor.java:79)
at io.smallrye.mutiny.operators.multi.MultiGroupByOp$State.subscribe(MultiGroupByOp.java:344)
at io.smallrye.mutiny.operators.multi.MultiGroupByOp$GroupedUnicast.subscribe(MultiGroupByOp.java:282)
at io.smallrye.mutiny.operators.AbstractMulti.subscribe(AbstractMulti.java:40)
at io.smallrye.mutiny.operators.multi.MultiScanWithSeedOp$ScanSubscriber.onCompletion(MultiScanWithSeedOp.java:94)
at io.smallrye.mutiny.operators.multi.MultiScanWithSeedOp.subscribe(MultiScanWithSeedOp.java:33)
at io.smallrye.mutiny.groups.MultiSubscribe.withSubscriber(MultiSubscribe.java:72)
at io.smallrye.mutiny.operators.multi.MultiSelectWhereOp.subscribe(MultiSelectWhereOp.java:30)
at io.smallrye.mutiny.operators.AbstractMulti.subscribe(AbstractMulti.java:40)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.onItem(MultiFlatMapOp.java:193)
at io.smallrye.mutiny.operators.multi.MultiGroupByOp$MultiGroupByProcessor.drain(MultiGroupByOp.java:220)
at io.smallrye.mutiny.operators.multi.MultiGroupByOp$MultiGroupByProcessor.onItem(MultiGroupByOp.java:133)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.subscription.MultiSubscriber.onNext(MultiSubscriber.java:61)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.tryEmit(MultiFlatMapOp.java:230)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapInner.onItem(MultiFlatMapOp.java:607)
at io.smallrye.mutiny.subscription.MultiSubscriber.onNext(MultiSubscriber.java:61)
at io.smallrye.mutiny.converters.uni.UniToMultiPublisher$UniToMultiSubscription.onItem(UniToMultiPublisher.java:93)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.onItem(UniOnItemOrFailureFlatMap.java:56)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.performInnerSubscription(UniOnItemOrFailureFlatMap.java:99)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.onItem(UniOnItemOrFailureFlatMap.java:54)
at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:60)
at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor.lambda$onItem$0(UniEmitOn.java:34)
at io.smallrye.reactive.messaging.providers.extension.MutinyEmitterImpl.lambda$sendMessage$5(MutinyEmitterImpl.java:88)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:246)
at io.vertx.core.impl.EventLoopContext.lambda$runOnContext$0(EventLoopContext.java:43)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.util.NoSuchElementException: The context does not have a value for key CURRENT_MESSAGE
at io.smallrye.mutiny.Context.get(Context.java:121)
at io.quarkus.sample.superheroes.statistics.listener.SuperStats.ackMessage(SuperStats.java:143)
at io.quarkus.sample.superheroes.statistics.listener.SuperStats.lambda$processFight$2(SuperStats.java:70)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.groups.MultiOnItem.lambda$call$3(MultiOnItem.java:128)
at io.smallrye.context.impl.wrappers.SlowContextualFunction.apply(SlowContextualFunction.java:21)
at io.smallrye.mutiny.groups.MultiOnItem.lambda$call$2(MultiOnItem.java:95)
at io.smallrye.context.impl.wrappers.SlowContextualFunction.apply(SlowContextualFunction.java:21)
at io.smallrye.mutiny.groups.MultiOnItem.lambda$transformToUni$6(MultiOnItem.java:268)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.onItem(MultiFlatMapOp.java:178)
the WebSocketsIT
integration tests in the event-statistics
app.
Something in https://github.com/quarkusio/quarkus-super-heroes/blob/main/event-statistics/src/main/java/io/quarkus/sample/superheroes/statistics/listener/SuperStats.java isn't working right now.
FYI its working fine in 2.13.0.Final
, so something has changed between 2.13.0.Final
and what is currently on main
The class does manual ack'ing of messages and uses the Mutiny Context
for storing off the message to be ack'ed so it can be retrieved later once processing of the message has completed. From my initial investigation it seems the Context
is losing the message somehow
but i'm certainly no Kafka nor Mutiny expert
Here's how to reproduce locally:
main
and build (mvn -Dquickly
)main
cd
into quarkus-super-heroes/event-statistics
./mvnw clean verify -Dquarkus.platform.group-id=io.quarkus -Dquarkus.platform.version=999-SNAPSHOT -Dquarkus.http.host=0.0.0.0
@ozangunalp can you check that failure. Seems to be because of the ack happening on the context.
I've filed #28293 for this
@edeandrea thanks. I am looking at it now.
Quarkus 2.13.0.Final doesn't seem to be affected. I'll test against latest main.
Thats correct. 2.13.0.Final is ok. Its something between 2.13.0.Final and whats currently on main.
@edeandrea Here is the fix : https://github.com/quarkusio/quarkus-super-heroes/pull/151
Build fixed:
Unfortunately, the build failed:
Build fixed:
Unfortunately, the build failed:
https://github.com/quarkusio/quarkus/issues/23612#issuecomment-1284974386 could be just some GitHub action weirdness. I don't necessarily see anything wrong (at least its not apparent from the logs).
We can wait until tomorrow and see if it still fails.
Build fixed:
Unfortunately, the build failed:
I'm thinking https://github.com/quarkusio/quarkus/issues/23612#issuecomment-1298064658 is just a fluke. We'll see when it runs tomorrow.
Build fixed:
Unfortunately, the build failed:
Build fixed:
Unfortunately, the build failed:
Build fixed:
Unfortunately, the build failed:
The build is still failing:
Some GH actions in some other repo have been flaky the last few days, so this could just be a hiccup. I'll give this another day to see if it sorts itself out. If not then I'll start digging into it.
The build is still failing:
@geoand / @ozangunalp / @gsmet Something is either broken or has changed on Quarkus main
. I can reproduce the failures here over the last several days on my local machine.
Something has changed with regards to the way message ack'ing is happening, or in the way the Context
is storing information. I'm not sure if something in Quarkus (or some other downstream dependency) needs to be fixed, or something needs to change in https://github.com/quarkusio/quarkus-super-heroes/blob/main/event-statistics/src/main/java/io/quarkus/sample/superheroes/statistics/listener/SuperStats.java
Either way - whatever happened has caused tests to now fail. Its almost like the Context
is losing the key that is being stashed away. I'm not sure how to fix it.
Here is the relevant excerpt from the log
java.lang.Exception: Missing onFailure/onError handler in the subscriber
at io.smallrye.mutiny.subscription.Subscribers.lambda$static$0(Subscribers.java:19)
at io.smallrye.mutiny.subscription.Subscribers$CallbackBasedSubscriber.onFailure(Subscribers.java:94)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription.drain(ReplayOperator.java:111)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription.access$400(ReplayOperator.java:47)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber.lambda$triggerDrainLoops$0(ReplayOperator.java:171)
at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber.triggerDrainLoops(ReplayOperator.java:171)
at io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber.onFailure(ReplayOperator.java:145)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.isEmptyOrCompleted(MultiPublishOp.java:342)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.drain(MultiPublishOp.java:393)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.onFailure(MultiPublishOp.java:200)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.handleTerminationIfDone(MultiFlatMapOp.java:513)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.ifDoneOrCancelled(MultiFlatMapOp.java:488)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drainLoop(MultiFlatMapOp.java:288)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drain(MultiFlatMapOp.java:268)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.onFailure(MultiFlatMapOp.java:212)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.subscription.SafeSubscriber.onError(SafeSubscriber.java:148)
at io.smallrye.mutiny.helpers.HalfSerializer.onError(HalfSerializer.java:56)
at io.smallrye.mutiny.helpers.StrictMultiSubscriber.onFailure(StrictMultiSubscriber.java:91)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.isEmptyOrCompleted(MultiPublishOp.java:342)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.drain(MultiPublishOp.java:393)
at io.smallrye.mutiny.operators.multi.multicast.MultiPublishOp$PublishSubscriber.onFailure(MultiPublishOp.java:200)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.subscription.SafeSubscriber.onError(SafeSubscriber.java:148)
at io.smallrye.mutiny.helpers.HalfSerializer.onError(HalfSerializer.java:56)
at io.smallrye.mutiny.helpers.StrictMultiSubscriber.onFailure(StrictMultiSubscriber.java:91)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onFailure(MultiOperatorProcessor.java:89)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.innerError(MultiFlatMapOp.java:530)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapInner.onFailure(MultiFlatMapOp.java:614)
at io.smallrye.mutiny.subscription.MultiSubscriber.onError(MultiSubscriber.java:73)
at io.smallrye.mutiny.converters.uni.UniToMultiPublisher$UniToMultiSubscription.onFailure(UniToMultiPublisher.java:103)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.onFailure(UniOnItemOrFailureFlatMap.java:67)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownFailure$KnownFailureSubscription.forward(UniCreateFromKnownFailure.java:38)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownFailure$KnownFailureSubscription.access$100(UniCreateFromKnownFailure.java:26)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownFailure.subscribe(UniCreateFromKnownFailure.java:23)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.performInnerSubscription(UniOnItemOrFailureFlatMap.java:99)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.onFailure(UniOnItemOrFailureFlatMap.java:65)
at io.smallrye.mutiny.helpers.EmptyUniSubscription.propagateFailureEvent(EmptyUniSubscription.java:40)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromCompletionStage.subscribe(UniCreateFromCompletionStage.java:26)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap.subscribe(UniOnItemOrFailureFlatMap.java:27)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
at io.smallrye.mutiny.converters.uni.UniToMultiPublisher$UniToMultiSubscription.request(UniToMultiPublisher.java:74)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapInner.onSubscribe(MultiFlatMapOp.java:601)
at io.smallrye.mutiny.converters.uni.UniToMultiPublisher.subscribe(UniToMultiPublisher.java:26)
at io.smallrye.mutiny.groups.MultiCreate$1.subscribe(MultiCreate.java:163)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.onItem(MultiFlatMapOp.java:193)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onItem(MultiOperatorProcessor.java:100)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.onItem(MultiOperatorProcessor.java:100)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiOnItemInvoke$MultiOnItemInvokeProcessor.onItem(MultiOnItemInvoke.java:41)
at io.smallrye.mutiny.operators.multi.MultiMapOp$MapProcessor.onItem(MultiMapOp.java:50)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drainLoop(MultiFlatMapOp.java:377)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drain(MultiFlatMapOp.java:268)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.request(MultiFlatMapOp.java:142)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.operators.multi.MultiOperatorProcessor.request(MultiOperatorProcessor.java:120)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.drainLoop(MultiFlatMapOp.java:452)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapMainSubscriber.innerComplete(MultiFlatMapOp.java:549)
at io.smallrye.mutiny.operators.multi.MultiFlatMapOp$FlatMapInner.onCompletion(MultiFlatMapOp.java:620)
at io.smallrye.mutiny.subscription.MultiSubscriber.onComplete(MultiSubscriber.java:83)
at io.smallrye.mutiny.converters.uni.UniToMultiPublisher$UniToMultiSubscription.onItem(UniToMultiPublisher.java:95)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.onItem(UniOnItemOrFailureFlatMap.java:56)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.performInnerSubscription(UniOnItemOrFailureFlatMap.java:99)
at io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap$UniOnItemOrFailureFlatMapProcessor.onItem(UniOnItemOrFailureFlatMap.java:54)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromCompletionStage$CompletionStageUniSubscription.forwardResult(UniCreateFromCompletionStage.java:63)
at io.smallrye.context.impl.wrappers.SlowContextualBiConsumer.accept(SlowContextualBiConsumer.java:21)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
at io.smallrye.context.impl.wrappers.SlowContextualConsumer.accept(SlowContextualConsumer.java:21)
at io.smallrye.mutiny.helpers.UniCallbackSubscriber.onItem(UniCallbackSubscriber.java:73)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromCompletionStage$CompletionStageUniSubscription.forwardResult(UniCreateFromCompletionStage.java:63)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
at io.smallrye.reactive.messaging.kafka.commit.KafkaThrottledLatestProcessedCommit.lambda$handle$7(KafkaThrottledLatestProcessedCommit.java:267)
at io.smallrye.reactive.messaging.providers.helpers.VertxContext.lambda$runOnContext$0(VertxContext.java:26)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:246)
at io.vertx.core.impl.EventLoopContext.lambda$runOnContext$0(EventLoopContext.java:43)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.util.NoSuchElementException: The context does not have a value for key CURRENT_MESSAGE
at io.smallrye.mutiny.Context.get(Context.java:121)
at io.quarkus.sample.superheroes.statistics.listener.SuperStats.lambda$ackMessage$16(SuperStats.java:144)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromCompletionStage.subscribe(UniCreateFromCompletionStage.java:24)
... 61 more
10:32:18 SEVERE traceId=, parentId=, spanId=, sampled= [io.op.ex.in.gr.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans. The request could not be executed. Full error message: Failed to connect to localhost/0:0:0:0:0:0:0:1:4317
10:33:20 WARN traceId=, parentId=, spanId=, sampled= [io.sm.re.me.kafka] (vert.x-eventloop-thread-8) SRMSG18231: The record 1 from topic-partition 'fights-0' has waited for 64 seconds to be acknowledged. This waiting time is greater than the configured threshold (60000 ms). At the moment 9 messages from this partition are awaiting acknowledgement. The last committed offset for this partition was 0. This error is due to a potential issue in the application which does not acknowledged the records in a timely fashion. The connector cannot commit as a record processing has not completed.
10:33:20 WARN traceId=, parentId=, spanId=, sampled= [io.sm.re.me.kafka] (vert.x-eventloop-thread-8) SRMSG18228: A failure has been reported for Kafka topics '[fights]': io.smallrye.reactive.messaging.kafka.commit.KafkaThrottledLatestProcessedCommit$TooManyMessagesWithoutAckException: The record 1 from topic/partition 'fights-0' has waited for 64 seconds to be acknowledged. At the moment 9 messages from this partition are awaiting acknowledgement. The last committed offset for this partition was 0.
@edeandrea looking at it now. I remember that we've already fixed something before on this code. Maybe we've introduced something else with the Reactive Messaging 3.22.0.
Thank you @ozangunalp - this (https://github.com/quarkusio/quarkus-super-heroes/pull/151) is what you fixed before.
This issue will be open and closed dependent on the state of https://github.com/quarkusio/quarkus-super-heroes building against Quarkus main snapshot.
If you have interest in being notified of this subscribe to the issue.
Closing #23425 in favor of this one.