blob: 34d7df7c30e115ed462e625eda636f15cbf57412 [file] [log] [blame]
<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.5.&#160;Node Operations</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;10.&#160;High Availability</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-NodeOperations"></a>10.5.&#160;Node Operations</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-NodeOperations-Lifecycle"></a>10.5.1.&#160;Lifecycle</h3></div></div></div><p>Virtualhost nodes can be stopped, started and deleted.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Stop</em></span></p><p>Stopping a master node will cause the node to temporarily leave the group. Any
messaging clients will be disconnected and any in-flight transaction rollbacked. The
remaining nodes will elect a new master if quorum number of nodes still remains.</p><p>Stopping a replica node will cause the node to temporarily leave the group too.
Providing quorum still exists, the current master will continue without interruption. If
by leaving the group, quorum no longer exists, all the nodes will begin waiting,
disconnecting any messaging clients, and the virtualhost will become unavailable.</p><p>A stopped virtualhost node is still considered to be a member of the group.</p></li><li class="listitem"><p><span class="emphasis"><em>Start</em></span></p><p>Starting a virtualhost node allows it to rejoin the group.</p><p>If the group already has a master, the node will catch up from the master and then
become a replica once it has done so.</p><p>If the group did not have quorum and so had no master, but the rejoining of this
node means quorum now exists, an election will take place. The node with the most up to
date transaction will become master unless influenced by the priority rules described
above.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The length of time taken to catch up will depend on how long the node has been
stopped. The worst case is where the node has been stopped for more than one hour. In
this case, the master will perform an automated <code class="literal">network restore</code>.
This involves streaming all the data held by the master over to the replica. This
could take considerable time.</p></div></li><li class="listitem"><p><span class="emphasis"><em>Delete</em></span></p><p>A virtualhost node can be deleted. Deleting a node permanently removes the node from
the group. The data stored locally is removed but this does not affect the data held by
the remainder of the group.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The names of deleted virtualhost node cannot be reused within a group.</p></div></li></ul></div><p>It is also possible to add nodes to an existing group using the procedure described
above.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-NodeOperations-TransferMaster"></a>10.5.2.&#160;Transfer Master</h3></div></div></div><p>This operation allows the mastership to be moved from node to node. This is useful for
restoring a business as usual state after a failure.</p><p>When using this function, the following occurs. </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>The system first gives time for the chosen new master to become reasonable up to
date. </p></li><li class="listitem"><p>It then suspends transactions on the old master and allows the chosen node to
become up to date.</p></li><li class="listitem"><p>The suspended transactions are aborted and any messaging clients connected to the
old master are disconnected.</p></li><li class="listitem"><p>The chosen master becomes the new master. The old master becomes a replica.</p></li><li class="listitem"><p>Messaging clients reconnect the new master.</p></li></ol></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.4.&#160;Behaviour of the Group&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;10.6.&#160;Client failover</td></tr></table></div></div>