Adding and Removing Nodes

As described in Adding and Removing Nodes from the Group, a node is added to the replication group simply by starting it up and allowing it to perform its start-up handshake with the Master. Once an electable node has been added to the replication group, it belongs to the replication group forever, or until you explicitly remove it. Also, the node is uniquely identified within the replication group by a name that you must give it when you start up the process.

This is worth remembering, because if you have electable nodes that have been added to the replication group, but which you then shutdown for a long period of time, your replication group might not be able to perform a lot of tasks, such as:

  1. Elect a Master.

  2. Add a new node to the replicated group.

  3. Delete a node from the replication group.

  4. Successfully commit a transaction (this depends on the durability guarantees in place for your application).

All of these actions might be adversely affected by a series of unavailable electable nodes because in order to do these things the Master must be in contact with a majority of the electable nodes belonging to the replication group (Monitor and Secondary nodes do not count). So if too many electable nodes are either shutdown or unavailable due to a network partition event, then these functions can become delayed or even completely unavailable.

For this reason, if you have electable nodes that you want to shutdown for a long time, then you should remove those nodes from the replication group. JE provides a utility class that allows for node removal, so your application developer should have provided you with a tool of some kind that allows you to do this as a normal administrative function.

When removing an electable node from the replication group, remember that:

If at some later time you want to restart the node and have it join the replication group, you can do this using the normal procedure that your application uses when starting a node for the first time. Be aware, however, that you cannot reuse the unique name that the node was using when you removed it from the group as an electable node. Instead, give the node a completely new unique name before having it rejoin the replication group.