Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
0.54.0
-
None
-
None
Description
We notice a behavior where once we are able to connect and receive messages, at some point, the consumer stops sending acknowledgements. After 60 seconds, we get hit the drain timeout exception even though the messages are being sent.
Reproducible using one of the examples provided https://github.com/apache/qpid-jms/blob/master/qpid-jms-examples/src/main/java/org/apache/qpid/jms/example/Receiver.java
org.apache.qpid.jms.JmsOperationTimedOutException: Remote did not respond to a drain request in timeorg.apache.qpid.jms.JmsOperationTimedOutException: Remote did not respond to a drain request in time at org.apache.qpid.jms.provider.exceptions.ProviderOperationTimedOutException.toJMSException(ProviderOperationTimedOutException.java:39) at org.apache.qpid.jms.provider.exceptions.ProviderOperationTimedOutException.toJMSException(ProviderOperationTimedOutException.java:25) at org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:80) at org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:112) at org.apache.qpid.jms.JmsConnection.pull(JmsConnection.java:915) at org.apache.qpid.jms.JmsConnection.pull(JmsConnection.java:899) at org.apache.qpid.jms.JmsMessageConsumer.performPullIfRequired(JmsMessageConsumer.java:732) at org.apache.qpid.jms.JmsMessageConsumer.dequeue(JmsMessageConsumer.java:332) at org.apache.qpid.jms.JmsMessageConsumer.receive(JmsMessageConsumer.java:213) at com.aireon.amqp.App.main(App.java:85)Caused by: org.apache.qpid.jms.provider.exceptions.ProviderOperationTimedOutException: Remote did not respond to a drain request in time at org.apache.qpid.jms.provider.amqp.AmqpConsumer.lambda$stop$1(AmqpConsumer.java:184) at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:832)