|
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.14, 0.12, 0.10, 0.8, 0.6, 0.16 Reporter: Keith Wall 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. Uses 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: [hidden email] For additional commands, e-mail: [hidden email] |
|
[ https://issues.apache.org/jira/browse/QPID-3903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Wall updated QPID-3903: ----------------------------- Status: Ready To Review (was: In Progress) > 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: Keith Wall > 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: [hidden email] For additional commands, e-mail: [hidden email] |
|
In reply to this post by JIRA jira@apache.org
[ 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: [hidden email] For additional commands, e-mail: [hidden email] |
|
In reply to this post by JIRA jira@apache.org
[ https://issues.apache.org/jira/browse/QPID-3903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Wall updated QPID-3903: ----------------------------- Description: 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} was: 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. Uses 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} Fix Version/s: 0.17 Assignee: Keith Wall Patch applied. Andrew, could you review please? > 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: Keith Wall > 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: [hidden email] For additional commands, e-mail: [hidden email] |
|
In reply to this post by JIRA jira@apache.org
[ https://issues.apache.org/jira/browse/QPID-3903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew MacBean resolved QPID-3903. ---------------------------------- Resolution: Fixed > 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: [hidden email] For additional commands, e-mail: [hidden email] |
| Powered by Nabble | Edit this page |
