[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