<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.5. Node Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a> </td><th width="60%" align="center">Chapter 10. High Availability</th><td width="20%" align="right"> <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. 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. 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. 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 width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">10.4. Behaviour of the Group </td><td width="20%" align="center"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td width="40%" align="right" valign="top"> 10.6. Client failover</td></tr></table></div></div> |