<div class="gmail_quote">On Wed, Jun 22, 2011 at 1:15 AM, Rob Harrop <span dir="ltr"><<a href="mailto:rob@rabbitmq.com">rob@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br></div>
When there is a consumer ready to receive the message, the message will only be written to disk if:<br>
<br>
1. The queue is durable<br>
2. The message is peristent<br>
3. Automatic ack is disabled</blockquote><div><br></div><div>Rob,</div><div><br></div><div>Thanks for your response. I was afraid that might be the case. That said, I've read with interest the discussion on the upcoming HA queue feature. It's exactly what we are looking for. Hopefully it will be release in not too long a time.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
You can use publisher confirms to allow your application code to know when a message has successfully been routed or when it has been lost.<br>
<br>
See: <a href="http://www.rabbitmq.com/extensions.html#confirms" target="_blank">http://www.rabbitmq.com/<u></u>extensions.html#confirms</a></blockquote><div><br></div><div>Alas, I believe, publisher confirms do not solve the problem. As I stated, I expect only a subset of the messages published to the topic exchange to have matching bindings. Most messages will not be routed anywhere. Publisher confirms will return basic.ack for such messages. That is all well and good under normal conditions. </div>
<div><br></div><div>But if there is a node with a queue with a binding that matches the message, and that node goes down, then it is my understanding that the rest of the cluster will discard the binding since the queue is no longer reachable. If that is the case, then publisher confirms will return a basic.ack rather than a basic.nack. Thus the publisher will not know that there was a queue with a binding that matched the message, but its just not available at this time.</div>
<div><br></div><div>Is my understanding incorrect?</div><div><br></div><div>This becomes less of an issue once the HA queues feature is shipped, as I configure the cluster the deliver the message to a queue even in the face a configurable number of nodes being down.</div>
<div><br></div><div>Elias Levy</div><div><br></div></div>