quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.84k stars 2.7k forks source link

[CI] - Quarkus Super Heroes + Quarkus main #23612

Closed quarkus-super-heroes-bot closed 2 months ago

quarkus-super-heroes-bot commented 2 years ago

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.

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

geoand commented 2 years ago

Now that Quarkus 2.13.0.Final has been released, can we mak sure this gets addressed?

edeandrea commented 2 years ago

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.

edeandrea commented 2 years ago

@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.

geoand commented 2 years ago

The full platform is not released yet, but the core (io.quarkus:quarkus-bom) is

edeandrea commented 2 years ago

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.

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

edeandrea commented 2 years ago

@geoand quarkusio/quarkus-super-heroes#138 has been merged now that 2.13.0.Final is out. This thread should turn green tomorrow.

geoand commented 2 years ago

Great, thanks

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

edeandrea commented 2 years ago

@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.

geoand commented 2 years ago

The breaking changes are tracked in the wiki - I don't think you can make a pull request to it (cc @gsmet )

edeandrea commented 2 years ago

@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.

edeandrea commented 2 years ago

something to do with reactive messaging and messages not being ack'ed

geoand commented 2 years ago

cc @ozangunalp ^

edeandrea commented 2 years ago
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)
edeandrea commented 2 years ago

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

edeandrea commented 2 years ago

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

edeandrea commented 2 years ago

but i'm certainly no Kafka nor Mutiny expert

edeandrea commented 2 years ago

Here's how to reproduce locally:

  1. Clone quarkusio/quarkus main and build (mvn -Dquickly)
  2. Clone quarkusio/quarkus-super-heroes main
  3. cd into quarkus-super-heroes/event-statistics
  4. Run ./mvnw clean verify -Dquarkus.platform.group-id=io.quarkus -Dquarkus.platform.version=999-SNAPSHOT -Dquarkus.http.host=0.0.0.0
  5. The tests will fail with the error described in https://github.com/quarkusio/quarkus/issues/23612#issuecomment-1262204940
cescoffier commented 2 years ago

@ozangunalp can you check that failure. Seems to be because of the ack happening on the context.

edeandrea commented 2 years ago

I've filed #28293 for this

ozangunalp commented 2 years ago

@edeandrea thanks. I am looking at it now.

ozangunalp commented 2 years ago

Quarkus 2.13.0.Final doesn't seem to be affected. I'll test against latest main.

edeandrea commented 2 years ago

Thats correct. 2.13.0.Final is ok. Its something between 2.13.0.Final and whats currently on main.

ozangunalp commented 2 years ago

@edeandrea Here is the fix : https://github.com/quarkusio/quarkus-super-heroes/pull/151

quarkus-super-heroes-bot commented 2 years ago

Build fixed:

quarkus-super-heroes-bot commented 2 years ago

Unfortunately, the build failed:

quarkus-super-heroes-bot commented 2 years ago

Build fixed:

quarkus-super-heroes-bot commented 2 years ago

Unfortunately, the build failed:

edeandrea commented 2 years ago

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.

quarkus-super-heroes-bot commented 2 years ago

Build fixed:

quarkus-super-heroes-bot commented 2 years ago

Unfortunately, the build failed:

edeandrea commented 2 years ago

I'm thinking https://github.com/quarkusio/quarkus/issues/23612#issuecomment-1298064658 is just a fluke. We'll see when it runs tomorrow.

quarkus-super-heroes-bot commented 2 years ago

Build fixed:

quarkus-super-heroes-bot commented 2 years ago

Unfortunately, the build failed:

quarkus-super-heroes-bot commented 2 years ago

Build fixed:

quarkus-super-heroes-bot commented 2 years ago

Unfortunately, the build failed:

quarkus-super-heroes-bot commented 2 years ago

Build fixed:

quarkus-super-heroes-bot commented 2 years ago

Unfortunately, the build failed:

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

edeandrea commented 2 years ago

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.

quarkus-super-heroes-bot commented 2 years ago

The build is still failing:

edeandrea commented 2 years ago

@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.
ozangunalp commented 2 years ago

@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.

edeandrea commented 2 years ago

Thank you @ozangunalp - this (https://github.com/quarkusio/quarkus-super-heroes/pull/151) is what you fixed before.