<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 12/28/2014 11:39 AM, Sean Cribbs
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAHsw=e3=YNPdEuk3TfnYDqmE29aJkBtuW9-bwXvqnTVtmkfvVw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Global registration is inherently a consensus
        problem, and thus will have problems with liveness, as you've
        discovered. I can't speak to the implementation of the 'global'
        module, but I would suspect it is not partition-tolerant. Is
        there a way you can reconfigure your application to have
        locally-registered processes (one-per-node), or not require a
        single distribution point? 
        <div><br>
        </div>
        <div>There is also some work done by my colleague Chris
          Meiklejohn for eventually-consistent (and partition-tolerant)
          process groups, if you don't require a single authoritative
          process: <a moz-do-not-send="true"
            href="https://github.com/cmeiklejohn/riak_pg">https://github.com/cmeiklejohn/riak_pg</a></div>
      </div>
    </blockquote>
    If you need something that has already been in production, you need
    not look further than Erlang/OTP with
    <a class="moz-txt-link-freetext" href="http://www.erlang.org/doc/man/pg2.html">http://www.erlang.org/doc/man/pg2.html</a> .  There also is
    <a class="moz-txt-link-freetext" href="https://github.com/okeuday/cpg/">https://github.com/okeuday/cpg/</a> which has more features without ets
    usage to avoid contention (and it supports the via syntax, if you
    need that (i.e., <span class="code">{via,Module,ViaName})).</span><br>
    <br>
    <blockquote
cite="mid:CAHsw=e3=YNPdEuk3TfnYDqmE29aJkBtuW9-bwXvqnTVtmkfvVw@mail.gmail.com"
      type="cite">
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sat, Dec 27, 2014 at 5:36 AM,
          289602744 <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:289602744@qq.com" target="_blank">289602744@qq.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>These days,I found global did not work well.</div>
            <div>I have hundreds of nodes,and these nodes are connected
              with each other.</div>
            <div>But on some nodes, I can't get a process's global
              registered name with global:whereis_name, althrough I can
              get the node info by net_kernel:node_info/1</div>
            <div>I didnot find a way to resolve this problem. Unless I
              unregister that process's name and then register the name
              again, and then, I can get the global name by
              global:whereis_name/1.</div>
            <div><span style="line-height:1.5">Is there anything wrong
                with global? with so many nodes, I can't unregister and
                then register a process name every time I find global
                return me an undefined. </span></div>
            <div><span style="line-height:1.5"><br>
              </span></div>
            <div><span style="line-height:1.5"><br>
              </span></div>
            <br>
            _______________________________________________<br>
            erlang-questions mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
            <a moz-do-not-send="true"
              href="http://erlang.org/mailman/listinfo/erlang-questions"
              target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
            <br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div class="gmail_signature">Sean Cribbs <<a
            moz-do-not-send="true" href="mailto:sean@basho.com"
            target="_blank">sean@basho.com</a>><br>
          Sr. Software Engineer<br>
          Basho Technologies, Inc.<br>
          <a moz-do-not-send="true" href="http://basho.com/"
            target="_blank">http://basho.com/</a></div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
erlang-questions mailing list
<a class="moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>
<a class="moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>