<div dir="ltr">It is. For example the mappings between Jabber IDs of various kinds (user, chatroom, etc) and process IDs are kept in Mnesia tables which are distributed - in fact this is really the core of how clustered ejabberd works. So I will really need to do something here.<div>
<br></div><div style>A brief past experiment suggested that ejabberd did not take kindly to a Mnesia restart on a live node - I think I will have to restart the node.</div><div style><br></div><div style>A related question while I'm thinking of it - are there any modules out there that can hook into the error logger (or configuration options in the error logger) and do something different with certain log messages - for example send them by email?</div>
<div style><br></div><div style>Dan</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, May 3, 2013 at 12:02 PM, Michael Truog <span dir="ltr"><<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>The only solution seems to be
      <a href="https://github.com/uwiger/unsplit" target="_blank">https://github.com/uwiger/unsplit</a> usage where you manually resolve
      any conflicts.  Someone may already have integration with ejabberd
      that is available, but the problem of which side of the nodesplit
      to take should be error-prone, difficult, and sometimes impossible
      (depending on the data stored).  I think it is simpler to just
      hookup ejabberd to postgres or mysql instead of the mnesia usage. 
      There still remains mnesia usage internally, but I don't think the
      internal mnesia usage that doesn't go to postgres or mysql is
      distributed (would be good to check).<div><div class="h5"><br>
      <br>
      On 05/03/2013 08:32 AM, Daniel Dormont wrote:<br>
    </div></div></div>
    <blockquote type="cite"><div><div class="h5">
      
      <div dir="ltr">Hi Erlangers,
        <div><br>
        </div>
        <div>I'm running ejabberd with a two-node cluster in my
          production environment. Today that system encountered a
          netsplit. It was properly recorded and logged. But I need to
          work on some way to automate a solution for this. I'm aware
          that the problem can't be solved in general, but there are two
          mitigating factors in my case:</div>
        <div><br>
        </div>
        <div>1 - Almost all of my tables are RAM-only.</div>
        <div>2 - None of the data are truly critical for me. That is,
          loss of some portion of the data isn't critical because my
          application can recover.</div>
        <div><br>
        </div>
        <div>So in this case, I just picked a node, restarted ejabberd
          on it, and all is well. But what I'd like to do is write some
          actual Erlang code that can subscribe to the Mnesia  
          partitioned network event and do something about it. What are
          my options there?</div>
        <div><br>
        </div>
        <div>thanks,</div>
        <div>Dan</div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><div class="im"><pre>_______________________________________________
erlang-questions mailing list
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
    </div></blockquote>
    <br>
  </div>

</blockquote></div><br></div>