<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Just FYI,<div><br></div><div>RabbitMQ does not use Mnesia as message storage. It has it's own persister module.</div><div><br></div><div>AFAIK Mnesia is only used for storing routing tables, Exchanges and Queues meta information.</div><div><br></div><div>-Alvaro</div><div><br><div><div>On Jun 3, 2011, at 1:35 PM, Alex Lovell-Troy wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">There are a handful of approaches to this problem which all seem to follow a similar pattern. &nbsp;Until there is a way to replace mnesia with a replicable back end, we've all written something on our own that wraps each amqp transaction with a transactional write to the datastore of our choice and. &nbsp;I've seen this done with MySQL, MongoDB, and riak personally. &nbsp;<div>
<br></div><div>@jbrisbin has done some interesting work with implementing a specific queue that sends messages to riak that looks intriguing. &nbsp;I believe there is also a piece that pushes messages from riak into rabbitmq.</div>
<div><br><div class="gmail_quote">At least, that was the state of the art the last time I looked</div><div class="gmail_quote"><br></div><div class="gmail_quote">Anyone else?</div><div class="gmail_quote"><br></div><div class="gmail_quote">
-alex</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Fri, Jun 3, 2011 at 12:21 PM, Ozan Seymen <span dir="ltr">&lt;<a href="mailto:Ozan.Seymen@tdpg.com">Ozan.Seymen@tdpg.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">






<div lang="EN-GB" link="blue" vlink="purple">
<div><p class="MsoNormal">Hi all,</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">Can someone please explain the scenarios where we might have Rabbit message storage (is it mnesia?) corrupted in a way that it is not recoverable?</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">In the solution I am working on, I simply cannot afford to lose any messages. In order to secure this, I will:</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p><span style="font-family:Symbol"><span>�<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span>Rely on publisher confirms. This should ensure that broker will always confirm whether it assumed responsibility and persisted the message.
</p><p><span style="font-family:Symbol"><span>�<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span>Implement durable queues/exchanges.</p><p><span style="font-family:Symbol"><span>�<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span>Ack enabled in consumers to prevent losing messages if consumer dies halfway. I will solve the ordering problem on the consumer side.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">Even though all of these above prevent message loss in normal conditions, none of them covers the case where data gets corrupted in the broker. There is a window (albeit small) that things might go wrong: broker assumes responsibility (message
 is in the disk) and before message is sent to the consumer, broker experiences problems which corrupts the storage. If I can�t bring the broker up with all data previously persisted, I�ve lost messages � producer forgot about the message as broker accepts
 responsibility and consumers have no idea about the message as it hasn�t been delivered to it.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">Am I a total paranoid that is beyond help? Even so, I would really appreciate any info you guys can share.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">Cheers,</p><p class="MsoNormal">oseymen</p><div>&nbsp;<br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp;<br class="webkit-block-placeholder"></div><div>&nbsp;<br class="webkit-block-placeholder"></div><div>&nbsp;<br class="webkit-block-placeholder"></div>
</div>
<br>
<hr>
<font face="Arial" color="Black" size="1">This e-mail and any attached files are intended for the named addressee only. It contains information which may be confidential and legally privileged and also protected by copyright. Unless you are the named addressee
 (or authorised to receive for the addressee) you may not copy or use it or disclose it to anyone else. If you received it in error please notify the sender immediately and then delete it from your system.<br>
<br>
Please be advised that the views and opinions expressed in this e-mail may not reflect the views and opinions of The Digital Property Group Limited or any of its subsidiary companies.<br>
<br>
We make every effort to keep our network free from viruses. However, you do need to check this e-mail and any attachments to it for viruses as we can take no responsibility for any computer virus which may be transferred by way of this e-mail. We reserve the
 right to monitor all e-mail communications.<br>
<br>
The Digital Property Group Limited is a Daily Mail and General Trust plc company.<br>
Registered Office: Northcliffe House, 2 Derry Street, London, W8 5TT.<br>
Registered in England &amp; Wales No: 02290527 VAT no. 243571174<br>
</font>
<br>
______________________________________________________________________<br>
This email has been scanned by the MessageLabs Email Security System.<br>
For more information please visit <a href="http://www.messagelabs.com/email" target="_blank">http://www.messagelabs.com/email</a> <br>
______________________________________________________________________<br>
</div>

<br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>rabbitmq-discuss mailing list<br><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br><a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div>Sent form my Nokia 1100</div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></div></body></html>