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

Alex Rudyy commented on QPID-8212:
----------------------------------

The exception like the one below is reported for the issue:

{noformat}

Caused by: javax.jms.JMSException: Error closing consumer: The server's 
response was not received within the time-out period of 60000 ms. Possible 
reasons include: the server may be too busy, the network may be overloaded, or 
this JVM itself may be too busy to process the response. 
[/127.0.0.1:46640-/127.0.0.1:56724]
    at 
org.apache.qpid.client.BasicMessageConsumer.close(BasicMessageConsumer.java:622)
    at 
org.apache.qpid.client.BasicMessageConsumer.close(BasicMessageConsumer.java:577)
    at 
org.apache.qpid.disttest.jms.ClientJmsDelegate.closeTestConsumer(ClientJmsDelegate.java:660)
    ... 6 common frames omitted
Caused by: org.apache.qpid.AMQTimeoutException: The server's response was not 
received within the time-out period of 60000 ms. Possible reasons include: the 
server may be too busy, the network may be overloaded, or this JVM itself may 
be too busy to process the response. [/127.0.0.1:46640-/127.0.0.1:56724]
    at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:175)
    at 
org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:118)
    at 
org.apache.qpid.client.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:654)
    at 
org.apache.qpid.client.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:675)
    at 
org.apache.qpid.client.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:669)
    at 
org.apache.qpid.client.BasicMessageConsumer_0_8.sendCancel(BasicMessageConsumer_0_8.java:124)
    at 
org.apache.qpid.client.BasicMessageConsumer.close(BasicMessageConsumer.java:609)
    ... 8 common frames omitted

{noformat}

 

The following DEBUG log records can be found in client logs indicating about 
\{{BasicCancelOkBody}} being ignored

{noformat}

[IoRcvr-/127.0.0.1:46640-/127.0.0.1:56724] DEBUG 
o.a.qpid.client.AMQProtocolHandler - RECV: Frame channelId: 3, bodyFrame: 
[BasicCancelOkBodyImpl: consumerTag=1]
[IoRcvr-/127.0.0.1:46640-/127.0.0.1:56724] DEBUG 
o.a.q.c.protocol.AMQProtocolSession - Ignoring method [BasicCancelOkBodyImpl: 
consumerTag=1] as channel 3 closed 

{noformat}

 

> [JMS AMQP 0-x][AMQP 0-8..0-91] Consumer close can block for 60 seconds and 
> endup in time-out exception
> ------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8212
>                 URL: https://issues.apache.org/jira/browse/QPID-8212
>             Project: Qpid
>          Issue Type: Bug
>          Components: JMS AMQP 0-x
>    Affects Versions: qpid-java-client-0-x-6.3.1
>            Reporter: Alex Rudyy
>            Priority: Blocker
>             Fix For: qpid-java-client-0-x-6.3.2
>
>
> When method {{MessageConsumer#close()}} is invoked in one thread and method 
> {{Connection#close()}} is invoked in another thread, the incoming 
> {{BasicCancelOk}} frame can be ignored due to {{Connection#_closed}} flag 
> being set. As result, the call  to {{MessageConsumer#close()}} can block for 
> 60 seconds and end up in exception due to not being able to receive 
> {{BasicCancelOk}}. Invocation of {{Connection#close()}}  also gets blocked 
> due to message delivery lock being hold on consumer close.
> The defect was introduced as part of changes made against QPID-8185 in commit 
> [f89f6c2f45d11fc63551d0d61c17eceedd6bd247|https://git-wip-us.apache.org/repos/asf?p=qpid-jms-amqp-0-x.git;h=f89f6c2]
> Method {{AMQProtocolSession#isClosedForInput}} checks whether session is 
> closed for input by calling {{AMQSession#isClosed()}}. The latter returns 
> true when either {{AMQSession#_closed}} or {{AMQConnection#_closed}} holds  
> {{true}}.  Only {{AMQSession#_closed}}  should be checked in 
> {{AMQProtocolSession#isClosedForInput}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to