You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2013/01/31 17:41:13 UTC
[jira] [Updated] (QPID-3895) exception thrown when closing
connections with sessions blocked by producer side flow control
[ https://issues.apache.org/jira/browse/QPID-3895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell updated QPID-3895:
---------------------------------
Summary: exception thrown when closing connections with sessions blocked by producer side flow control (was: A reference to AMQChannel object is not removed from SimpleAMQQueue#_blockedChannels map on closing connections with producer side flow control when flow is blocked)
> exception thrown when closing connections with sessions blocked by producer side flow control
> ---------------------------------------------------------------------------------------------
>
> Key: QPID-3895
> URL: https://issues.apache.org/jira/browse/QPID-3895
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16
> Reporter: Alex Rudyy
> Assignee: Keith Wall
> Fix For: 0.17
>
> Attachments: 0001-QPID-3895-Remove-blocked-channel-session-from-the-li.patch
>
>
> A reference to AMQChannel object is not removed from SimpleAMQQueue#_blockedChannels map on closing connections with producer side flow control when flow is blocked.
> This can result in memory leaks. Also, the subsequent invocations of operations like SimpleAMQQueue#delete can results in failures similar to the one below
> {noformat}
> 2012-03-07 19:22:37,132 ERROR [IoReceiver - /169.82.100.202:51439] (LocalTransaction.java:265) - Failed to commit transaction
> org.apache.qpid.transport.SenderClosedException: sender is closed
> at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:114)
> at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:40)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.writeFrame(AMQProtocolEngine.java:558)
> at org.apache.qpid.server.AMQChannel.flow(AMQChannel.java:1403)
> at org.apache.qpid.server.AMQChannel.unblock(AMQChannel.java:1384)
> at org.apache.qpid.server.queue.SimpleAMQQueue.checkCapacity(SimpleAMQQueue.java:1696)
> at org.apache.qpid.server.queue.SimpleAMQQueue.dequeue(SimpleAMQQueue.java:897)
> at org.apache.qpid.server.queue.QueueEntryImpl.dequeue(QueueEntryImpl.java:376)
> at org.apache.qpid.server.queue.QueueEntryImpl.discard(QueueEntryImpl.java:407)
> at org.apache.qpid.server.queue.SimpleAMQQueue$13.postCommit(SimpleAMQQueue.java:1608)
> at org.apache.qpid.server.txn.LocalTransaction.commit(LocalTransaction.java:260)
> at org.apache.qpid.server.txn.LocalTransaction.commit(LocalTransaction.java:241)
> at org.apache.qpid.server.queue.SimpleAMQQueue.delete(SimpleAMQQueue.java:1619)
> at org.apache.qpid.server.handler.QueueDeleteHandler.methodReceived(QueueDeleteHandler.java:114)
> at org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchQueueDelete(ServerMethodDispatcherImpl.java:518)
> at org.apache.qpid.framing.amqp_0_9.QueueDeleteBodyImpl.execute(QueueDeleteBodyImpl.java:153)
> at org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:109)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:454)
> at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:343)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:292)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:255)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:86)
> at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:118)
> at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:37)
> at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:152)
> at java.lang.Thread.run(Thread.java:662)
> 2012-03-07 19:22:37,135 ERROR [IoReceiver - /169.82.100.202:51439] (AMQProtocolEngine.java:520) - Unexpected exception while processing frame. Closing connection.
> java.lang.RuntimeException: Failed to commit transaction
> at org.apache.qpid.server.txn.LocalTransaction.commit(LocalTransaction.java:271)
> at org.apache.qpid.server.txn.LocalTransaction.commit(LocalTransaction.java:241)
> at org.apache.qpid.server.queue.SimpleAMQQueue.delete(SimpleAMQQueue.java:1619)
> at org.apache.qpid.server.handler.QueueDeleteHandler.methodReceived(QueueDeleteHandler.java:114)
> at org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchQueueDelete(ServerMethodDispatcherImpl.java:518)
> at org.apache.qpid.framing.amqp_0_9.QueueDeleteBodyImpl.execute(QueueDeleteBodyImpl.java:153)
> at org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:109)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:454)
> at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:343)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:292)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:255)
> at org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:86)
> at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:118)
> at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:37)
> at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:152)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.qpid.transport.SenderClosedException: sender is closed
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
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