[ 
https://issues.apache.org/jira/browse/QPIDJMS-516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17222260#comment-17222260
 ] 

Timothy A. Bish commented on QPIDJMS-516:
-----------------------------------------

If the remote server you are connecting to doesn't support drain (it really 
should at this point if it doesn't) then you will get these errors when you are 
trying to receive and the prefetch buffer is empty.  You've not provided any 
real help in determining what is going on though so please provide more 
information like the remote peer you are using and capturing frame traces as 
outlined in the 
[documentation|http://qpid.apache.org/releases/qpid-jms-0.54.0/docs/index.html#logging].

 It is possible to work around lack of support for drain on the remote using 
the configuration options to disable draining as documented.
{quote}jms.receiveNoWaitLocalOnly If enabled receiveNoWait calls will only 
check a consumers local message buffer, otherwise the remote peer is checked to 
ensure there are really no messages available. Default is false, the remote is 
checked.
{quote}
 

> Constantly receiving drain request timeouts
> -------------------------------------------
>
>                 Key: QPIDJMS-516
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-516
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.54.0
>            Reporter: Sai Pothuraju
>            Priority: Major
>
> 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)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to