<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 12 Jul 2012, at 20:07, Mike Oxford wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">When facing a split with 'majority' enabled, you end up with a reduction in service based on the non-majority nodes.<div><br><div>If the interconnect-network is entirely down, then every node is non-majority and will 'freeze.'</div>
<div>If the split is, say, 70/30, then the 30% will not update.</div><div><br></div><div>But then once the network is back up, does it automatically replay the missing transactions on the 30% from the 70%?  In a full-network-down situation where every node halts the write, when the network comes back up will everything re-mesh on its own?</div></div></blockquote><div><br></div><div>Mnesia does no automatic merge. It can detect that a split has happened, and if you have 'majority' enabled, you can trust that you have avoided inconsistency, and can proceed to identify a majority island.</div><div><br></div><div>Mnesia doesn't give you much help with this, although you can spy into the "unsplit" code for _one_ way to do it. Another could be to have a "backdoor ping", e.g. via UDP, and -kernel dist_auto_connect false. This way, you can exchange information between "islands" and control when they are to reconnect.</div><div><br></div><div>The standard mnesia-supported way to resolve the situation would then be to restart the nodes in the minority island, after having called mnesia:set_master_nodes(Tables, MajorityNodes).</div><div><br></div><div>This has always been seen as something of a sledgehammer, but given that the minority nodes are not able to write to the database anyway, it is somewhat less so when combined with the 'majority' option. ;-)</div><br><blockquote type="cite"><div>
<div>Or do I need something like Ulf's "unsplit" handlers?  Does mnesia still need to be patched to support "unsplit" or was that merged as well?</div></div></blockquote><br></div><div>That patch was merged in R14B, I believe.</div><div><br></div><div>BR,</div><div>Ulf W</div><br><div apple-content-edited="true">
<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: -webkit-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><div>Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.</div><div><a href="http://feuerlabs.com">http://feuerlabs.com</a></div></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></body></html>