My system sends messages to Azure Service Bus via Smallrye Reactive Messaging Emitter.
Sending messages fails if period of inactivity > 10 mins.
The error occurs in Vertx but no callback is triggered is SRM. See stacktrace below.
2022-01-30 11:09:04,992 ERROR [io.qua.ver.cor.run.VertxCoreRecorder] (vert.x-eventloop-thread-0) Uncaught exception received by Vert.x: java.lang.IllegalStateException: send not allowed after the sender is closed.
at org.apache.qpid.proton.engine.impl.SenderImpl.sendNoCopy(SenderImpl.java:86)
at io.vertx.proton.impl.ProtonSenderImpl.send(ProtonSenderImpl.java:91)
at io.vertx.proton.impl.ProtonSenderImpl.send(ProtonSenderImpl.java:56)
at io.vertx.amqp.impl.AmqpSenderImpl.lambda$doSend$6(AmqpSenderImpl.java:183)
at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:100)
at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:63)
at io.vertx.core.impl.EventLoopContext.lambda$runOnContext$0(EventLoopContext.java:38)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:503)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
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)
Version
4.2.2
Context
Quarkus 2.6.3 -> SRM AMQP 3.13.0 -> Vertx AMQP 4.2.2
My system sends messages to Azure Service Bus via Smallrye Reactive Messaging Emitter. Sending messages fails if period of inactivity > 10 mins. The error occurs in Vertx but no callback is triggered is SRM. See stacktrace below.
My guess is that ASB is closing the link due to inactivity: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-amqp-troubleshoot#link-is-closed
Exception
Do you have a reproducer?
https://bitbucket.org/alexlitovsky1/vertx-amqp-emitter-bug
Steps to reproduce