[rabbitmq-discuss] Producers hanging when reaching high memory watermark on 1.8.1

Alister Morton Alister.Morton at tradition.com
Mon Aug 16 15:01:34 BST 2010

> The memory condition that triggered channel.flow can clear just as
> quickly as any condition that caused a slow down.
Indeed so. In which case the stop would be removed.

I haven't looked closely at flow control; I'm possibly somewhat naively assuming that the broker sends distinct "xon/xoff" type messages to the client, rather than passively implementing flow control by simply not dequeueing data.

In the case of xon/xoff style flow control, then "stopped" is a distinct finite state and is precisely detectable (and I think it should be. If the spec doesn't allow for this then I'd say it's an omission but c'est la vie). In the case of passive flow control it's not really deterministic and you have to implement some sort of empirical "Well it /looks/ like it's stopped but who knows" fuzzy logic.

A bit like a turnpike that is clogged but moving very slowly - all you know it appears to be open so you have to make a value judgement on whether it's likely, on balance, to be worth it to join the slow traffic or to give up and find an alternative route. OTOH, if the road is closed, you KNOW with certainty that you have to look elsewhere.

One is a fuzzy best guess based on observations and inference, one is a state based decision.


The information herein may have been obtained from various sources. Any opinion expressed may be that of the sender only, is subject to change without notice and should be independently evaluated. Nothing herein constitutes investment advice or an offer, or solicitation of an offer, to buy or sell any financial product. Any data consists of purely indicative prices and should not be relied upon to revalue any commercial positions held by any recipient. Tradition makes no warranty that the data represent or indicates prices at which transactions may be or have been made by any Tradition Group company. To the maximum extent of the law, Tradition accepts no responsibility for, and cannot and does not warrant the integrity, accuracy, quality, completeness, merchantability or suitability for a particular purpose or requirement of the information or data, even if arising out of the negligence of Tradition or otherwise. Tradition accepts no liability for any direct, indirect or other consequential loss arising out of any use of the information contained in this document or any omission from it. This communication is directed at Eligible Counterparties and Professional Clients as defined by the FSA. It is not for distribution to nor should it be relied upon by Private Clients. It is not intended for distribution to, or use by any person or entity in any jurisdiction or country where such distribution or use would be contrary to any applicable law or regulation. Please note that, for business or compliance reasons, we may monitor and read emails sent or received using our servers or equipment. Tradition (UK) Ltd (937647; FSA 139200), Tradition Financial Services Ltd (1046064; FSA 147543), TFS Derivatives Ltd (4051930; FSA 197244), Tradition London Clearing Ltd (3633863; FSA 190632) and TFS-ICAP Ltd (4025995; FSA 206018) registered in England at Beaufort House, 15 St Botolph Street, London EC3A 7QX; authorised and regulated by the Financial Services Authority. VAT No: GB 365 4639 27 except TFS-ICAP GB 766 0854 05.

More information about the rabbitmq-discuss mailing list