<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 5 Sep 2011, at 11:48, Erik Seres wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; 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>Due to an intermittent network failure, replication had stopped. In the logs for x@z was the following message:</div><div><br></div><div>=ERROR REPORT==== 23-Aug-2011::23:56:37 ===</div><div>** Node 'x@y' not responding **</div><div>** Removing (timedout) connection **</div></span></blockquote><div><br></div><div>Sometimes, this message appears on both sides, and sometimes only on one. It depends a bit on the cause. The other side (if it doesn't timeout and issue the above message) will detect the socket being closed, but this doesn't cause a message to be logged.</div><div><br></div><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; 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>This message went unnoticed until x@y was restarted for an unrelated reason and it x@z logged the following error at startup:</div><div><br></div><div>=ERROR REPORT==== 24-Aug-2011::14:22:09 ===</div><div>Mnesia('x@z'): ** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, 'x@y'}</div></span></blockquote><div><br></div><div>This comes when the nodes try to reconnect. The node that restarted will hail the one that is already running (x@z), which finds out that both nodes considered the other 'down'. Unfortunately, this event is not issued on both nodes.</div><div><br></div><div>That the systems didn't reconnect until x@y restarted has to do with the fact that you happen to have no processes that actively try to send messages to the other node. By default, Erlang nodes will connect automatically on-demand, but this can be turned off (using -kernel dist_auto_connect X, where X :: once | never). </div><div><br></div>Sometimes, people will have a process that simply sends a UDP message to corresponding processes on the other nodes. If such a message is received from a node that you thought was down (not in the nodes() list), then you have a partitioned network, and need to take steps to resolve it. Mnesia doesn't do this for you; but it's really not that hard to supply the logic - once you realise that you have to do it yourself. ;-)</div><div><br></div><div>BR,</div><div>Ulf W</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>Ulf Wiger, CTO, Erlang Solutions, Ltd.</div><div><a href="http://erlang-solutions.com">http://erlang-solutions.com</a></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></body></html>