<div class="gmail_quote">El 8 de junio de 2010 17:04, Nicolás César <span dir="ltr">&lt;<a href="mailto:nico@nicocesar.com">nico@nicocesar.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div class="gmail_quote">2010/6/8 Matthew Sackman <span dir="ltr">&lt;<a href="mailto:matthew@rabbitmq.com" target="_blank">matthew@rabbitmq.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Hi Nicolás,<br>
<div><div class="im"><br>
On Tue, Jun 08, 2010 at 08:33:24AM -0300, Nicolás César wrote:<br></div>
(..)<div class="im"><br>
&gt; What i&#39;m doing wrong?<br>
<br>
</div></div><div class="im">When you hit the memory watermark, the *server* sends to *you* the<br>
channel.flow{active=false} which you&#39;re meant to acknowledge by sending<br>
back a channel.flow_ok{active=false}. However, depending on which python<br>
client you&#39;re using, this may not be implemented - I&#39;m aware Tony&#39;s<br>
produced an experimental patch for pyamqplib, and I&#39;m not sure about the<br>
status of flow control in Pika.<br></div></blockquote><div><br><br>Thanks Matthew for the excelent response. You probably are talking about this:<br><a href="http://code.google.com/p/py-amqplib/issues/detail?id=19" target="_blank">http://code.google.com/p/py-amqplib/issues/detail?id=19</a><br>


<br> <br></div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I think what you&#39;re doing is sending a channel.flow to the server which<br>
is telling the server whether or not to send message to you, not the<br>
other way around.<br></blockquote></div><div><br>Thanks for the explanation. I&#39;ll see that patch and get my things going smoothly<br> <br></div></div>
</blockquote></div><br><br>I&#39;ve applied the patch... works just fine. If I use chan.publish( ...,  block_on_flow_control=True ) I get the expected result and (if I set it to false I get a convienent exception)<br><br>

But now I&#39;ve hitted the &quot;vm_memory_high_watermark set.&quot; ; every producer is blocked but the memory stills allocated. (using &gt;400M for 50 empty queues) for more than an hour. <br><br>When vm_memory_high_watermark will be cleared?  Can I force something to get that memory back to normal. (I refuse to shut down rabbit, since I&#39;m debugging to get this into production)<br>

<br>Greetings<br><br><br clear="all">Nico César<br><br>