Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Looking at the <a href="http://github.com/erlang/otp/blob/dev/lib/kernel/src/global_group.erl" rel="nofollow noreferrer">global_group source</a>, the list of nodes is part of the config checked by the nodes as they synchronise.</p> <p>There is however an exported function <a href="http://github.com/erlang/otp/blob/dev/lib/kernel/src/global_group.erl#L485" rel="nofollow noreferrer">global_group:global_groups_changed</a> which handles the node-list changing.</p> <p>That's called from <a href="http://github.com/erlang/otp/blob/dev/lib/kernel/src/kernel.erl#L43" rel="nofollow noreferrer">kernel:config_change</a> (See <a href="http://www.erlang.org/doc/apps/kernel/application.html#Module:config_change-3" rel="nofollow noreferrer">Module:config_change/3</a>) so it's certainly possible to add new nodes to a global_group during a release upgrade (OTP embedded-systems style) (See <a href="http://www.erlang.org/doc/design_principles/release_handling.html#id2275165" rel="nofollow noreferrer">"Updating Application Specifications"</a>)</p> <p>It <em>might</em> be possible to simply do:</p> <pre><code>application:set_env( kernel, global_groups, [GroupTuple|GroupTuples] ), kernel:config_change( [ { global_groups, [GroupTuple|GroupTuples] } ], [], [] ) </code></pre> <p>Assuming you already had a global_groups configuration, or </p> <pre><code>application:set_env( kernel, global_groups, [GroupTuple|GroupTuples] ), kernel:config_change( [], [{ global_groups, [GroupTuple|GroupTuples] }], [] ) </code></pre> <p>if you are configuring global_groups into a cluster where it didn't already exist.</p> <p>You need to do the above on each node, and if they decide to sync during the process, they'll split down the lines of the config difference. (See the comment in the <a href="http://github.com/erlang/otp/blob/dev/lib/kernel/src/global_group.erl#L192" rel="nofollow noreferrer">global_group source</a> about syncing during a release upgrade)</p> <p>But once that's been done to all of them,</p> <pre><code>global_group:sync() </code></pre> <p>should get everything working again.</p> <p>I haven't tested the above recipe, but it looks tasty to me. ^_^</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload