You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (Assigned) (JIRA)" <ji...@apache.org> on 2012/03/25 01:18:27 UTC

[jira] [Assigned] (QPID-3903) Session#close() should not wait forever if broker fails to respond to channel close (0-8..0-9-1 protocols)

     [ https://issues.apache.org/jira/browse/QPID-3903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Wall reassigned QPID-3903:
--------------------------------

    Assignee: Andrew MacBean  (was: Keith Wall)
    
> Session#close() should not wait forever if broker fails to respond to channel close (0-8..0-9-1 protocols)
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3903
>                 URL: https://issues.apache.org/jira/browse/QPID-3903
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.6, 0.8, 0.10, 0.12, 0.14, 0.16
>            Reporter: Keith Wall
>            Assignee: Andrew MacBean
>             Fix For: 0.17
>
>
> For the 0-8..0-9-1 protocols, if the broker fails to respond to a channel close command (for whatever reason), the client thread hangs forever.   This is because AMQSession#close() uses a timeout value of -1, which is interpreted by BlockingWaiter as a indefinite wait.
> Users of the 0-10 protocol are unaffected by this defect.
> {code}
>         - parking to wait for <1f004f3> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>         at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:168)
>         at org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:127)
>         at org.apache.qpid.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:686)
>         at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:707)
>         at org.apache.qpid.client.AMQSession_0_8.sendClose(AMQSession_0_8.java:162)
>         at org.apache.qpid.client.AMQSession.close(AMQSession.java:723)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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