Good day,<div><br></div><div>I was wondering whether someone my know the answer to the following questions. �I&#39;ve read the FAQ and manuals, but they are not completely clear.</div><div><br></div><div>The first question is does a persistent message will hit the disk even if there is a consumer on the queue the message is being delivered to, and do automatic acknowledgements (i.e. no-wait) make a difference?</div>
<div><br></div><div>We are in a situation where writing to disk is expensive, and usually there will be a waiting and willing consumer attached to the queue, but we are not using automatic acks, rather we ack the message when the consumer has processed it, which may take a second or two. �So we&#39;d like to know whether in the common case in this situation messages will be written to disk or not.</div>
<div><br></div><div>The docs are unclear. �One could interpret them to mean that if there is a willing consumer the message will not be written to disk, but its unclear if this requires no-wait to be true.</div><div><br></div>
<div><br></div><div>The second question is what happens to persistent messages coming in through a node that are to be routed to a durable queue attached to a different node?</div><div><br></div><div>I believe this is answered by a question in the FAQ, &quot;What happens to messages when a network outage removes the route between an exchange and a bound queue?&quot;, which states that the messages will be silently dropped unless I set the mandatory flag on basic.publish.</div>
<div><br></div><div>Alas, that is not feasible in our use-case. �We are publishing to a topic exchange and creating bindings to to match a subset of the published messages to some durable queues. �Thus, we actually expect many messages to be routed to no queue. �Even if we set the mandatory flag, we&#39;d not be able to tell whether the error received by the publisher was a result of no binding matching the message (a normal condition) or the loss a node, along with all the queues and bindings associated with it (an exceptional condition).</div>
<div><br></div><div>Any suggestions on how to handle this issue and distinguish between these two conditions?</div><div><br></div><div>Thanks,</div><div><br></div><div>Elias Levy</div>