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