You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2009/09/28 16:11:16 UTC
[jira] Commented: (QPID-2116) FlowHandler does not ensure
asynchrounous message delivery has completed and stopped before sending
FlowOk response.
[ https://issues.apache.org/jira/browse/QPID-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12760253#action_12760253 ]
Martin Ritchie commented on QPID-2116:
--------------------------------------
Example log file showing broker send AFTER flow = false.
main 2009-09-28 13:09:20,994 DEBUG [apache.qpid.client.AMQSession] Setting channel flow : suspended
...
pool-1-thread-1 2009-09-28 13:09:21,020 DEBUG [qpid.server.protocol.AMQProtocolSession] Frame Received: Frame channelId: 1, bodyFrame: [ChannelFlowBodyImpl: active=false]
pool-1-thread-1 2009-09-28 13:09:21,020 INFO [qpid.message] MESSAGE [con:0(guest@anonymous(11875256)/test)/ch:1] [con:0(guest@anonymous(11875256)/test)/ch:1] CHN-1002 : Flow Stopped
pool-1-thread-1 2009-09-28 13:09:21,020 DEBUG [qpid.server.handler.ChannelFlowHandler] Channel.Flow for channel 1, active=false
...
pool-1-thread-2 2009-09-28 13:09:21,046 DEBUG [qpid.server.subscription.SubscriptionImpl] (25976423) checking filters for message ((HC:32576775 ID:21 Ref:1)
pool-1-thread-2 2009-09-28 13:09:21,046 DEBUG [apache.qpid.server.AMQChannel] 1(8529229) Adding unacked message(Message[(HC:32576775 ID:21 Ref:1)]: 21; ref count: 1 DT:289) with a queue(org.apache.qpid.server.queue.SimpleAMQQueue@1c5ddd3) for [channel=[anonymous(11875256)(guest):1], consumerTag=1, session=anonymous(11875256)]
...
pool-1-thread-1 2009-09-28 13:09:21,086 DEBUG [qpid.client.protocol.AMQProtocolHandler] (2443549)Method frame received: [ChannelFlowOkBodyImpl: active=false]
pool-1-thread-1 2009-09-28 13:09:21,086 DEBUG [qpid.client.handler.ChannelFlowOkMethodHandler] Received Channel.Flow-Ok message, active = false
...
pool-1-thread-4 2009-09-28 13:09:21,143 DEBUG [qpid.client.protocol.AMQProtocolHandler] (2443549)Method frame received: [BasicDeliverBodyImpl: consumerTag=1, deliveryTag=289, redelivered=true, exchange=amq.direct, routingKey=RollbackOrderTest-testOrderingAfterRollback]
pool-1-thread-4 2009-09-28 13:09:21,144 DEBUG [qpid.client.handler.BasicDeliverMethodHandler] New JmsDeliver method received:org.apache.qpid.client.protocol.AMQProtocolSession@c22a3b
pool-1-thread-4 2009-09-28 13:09:21,144 DEBUG [apache.qpid.client.AMQSession] Message[ContentHeader org.apache.qpid.framing.ContentHeaderBody@1e5ba24] received in session
> FlowHandler does not ensure asynchrounous message delivery has completed and stopped before sending FlowOk response.
> --------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-2116
> URL: https://issues.apache.org/jira/browse/QPID-2116
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: M4, 0.5
> Reporter: Martin Ritchie
>
> Discovered this after resolving QPID-1817. The problem here is that the flow control does not ensure that any asynchrounous process on the Session has stopped before sending the FlowOk response.
> A trimmed example log run shows the issue, where the client sends the Flow=False the broker then response but the async delivery thread is still sending messages to the client. So the message is missed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org