[rabbitmq-discuss] channel.flow_ok{active=false} and java client 1.8.1

Simon MacMullen simon at rabbitmq.com
Thu Jul 22 16:01:19 BST 2010


On 22/07/10 04:36, Chester Shen wrote:
> Hi.
>
> I can be sure that the client I am using is 1.8.1 since I can get
> channel.flow{active=false} in FlowListener.
>
> And my client is pretty simple that it just publish as much messages as
> it can in the main loop by using channel.basicPublish, would that cause
> the client too busy to respond to the channel.flow in time?

Hmm. It shouldn't do.

The best idea we can come up with at the moment is that the publish 
messages are backing up in the channel process inside the server, 
blocking the flow-ok message (which the client has sent) from getting 
read. This requires the publishes to be happening comparatively slowly, 
and for there to be a lot of them. Are you publishing persistent 
messages to durable queues? If so, are you using transactions?

If this theory is correct then there's not a great deal we can do except 
ask you to try the new persister. This would both relieve the memory 
pressure and put a lower upper bound on how long it takes to publish a 
persistent message.

Cheers, Simon

-- 
Simon MacMullen
Staff Engineer, RabbitMQ
SpringSource, a division of VMware



More information about the rabbitmq-discuss mailing list