<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/rabbitmq-server.git, branch bug26465</title>
<subtitle>hg.rabbitmq.com: Obsolete (use rabbitmq-server-git)
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/'/>
<entry>
<title>How to recover from partitioning after 'pause_if_all_down' is configurable</title>
<updated>2014-12-24T14:16:27+00:00</updated>
<author>
<name>Jean-Sebastien Pedron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2014-12-24T14:16:27+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=f9fbda2cd963704af13708b0b2f320fbdc7f398f'/>
<id>f9fbda2cd963704af13708b0b2f320fbdc7f398f</id>
<content type='text'>
Now that 'pause_if_all_down' accepts a list of preferred nodes, it is
possible that these nodes are spread across multiple partitions. For
example, suppose we have nodes A and B in datacenter #1 and nodes C and
D in datacenter #2, and we set {pause_if_all_down, [A, C]}, If the link
between both datacenters is lost, A/B and C/D forms two partitions.
RabbitMQ continues to run at both sites because all nodes see at least
one node from the preferred nodes list. When the link comes back, we
need to handle the recovery.

Therefore, a user can specify the strategy:
    o  {pause_if_all_down, [...], ignore} (default)
    o  {pause_if_all_down, [...], autoheal}

This third parameter is mandatory.

If the strategy is 'ignore', RabbitMQ is started again on paused nodes,
as soon as they see another node from the preferred nodes list. This is
the default behaviour.

If the strategy is 'autoheal', RabbitMQ is started again, like in
'ignore' mode, but when all nodes are up, autohealing kicks in as well.

Compared to plain 'autoheal' mode, the chance of loosing data is low
because paused nodes never drifted away from the cluster. When they
start again, they join the cluster and resume operations as any starting
node.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that 'pause_if_all_down' accepts a list of preferred nodes, it is
possible that these nodes are spread across multiple partitions. For
example, suppose we have nodes A and B in datacenter #1 and nodes C and
D in datacenter #2, and we set {pause_if_all_down, [A, C]}, If the link
between both datacenters is lost, A/B and C/D forms two partitions.
RabbitMQ continues to run at both sites because all nodes see at least
one node from the preferred nodes list. When the link comes back, we
need to handle the recovery.

Therefore, a user can specify the strategy:
    o  {pause_if_all_down, [...], ignore} (default)
    o  {pause_if_all_down, [...], autoheal}

This third parameter is mandatory.

If the strategy is 'ignore', RabbitMQ is started again on paused nodes,
as soon as they see another node from the preferred nodes list. This is
the default behaviour.

If the strategy is 'autoheal', RabbitMQ is started again, like in
'ignore' mode, but when all nodes are up, autohealing kicks in as well.

Compared to plain 'autoheal' mode, the chance of loosing data is low
because paused nodes never drifted away from the cluster. When they
start again, they join the cluster and resume operations as any starting
node.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename 'keep_preferred' to 'pause_if_all_down' and accept a list of nodes</title>
<updated>2014-12-19T22:41:57+00:00</updated>
<author>
<name>Jean-Sebastien Pedron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2014-12-19T22:41:57+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=35d332b0d2f723fadc86c86c98d31db5dfac05d0'/>
<id>35d332b0d2f723fadc86c86c98d31db5dfac05d0</id>
<content type='text'>
Now, a partition is paused if all nodes from the pause_if_all_down list
are seen as down. If a fraction of the list is alive, the nodes in the
partition remain up.

Compared to the previous version, some of the listed nodes can be taken
down for maintenance without risking service interruption. However, this
raises the problem of listed nodes distributed in multiple partitions:
we need to handle recovery. This will be addressed in a followup commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now, a partition is paused if all nodes from the pause_if_all_down list
are seen as down. If a fraction of the list is alive, the nodes in the
partition remain up.

Compared to the previous version, some of the listed nodes can be taken
down for maintenance without risking service interruption. However, this
raises the problem of listed nodes distributed in multiple partitions:
we need to handle recovery. This will be addressed in a followup commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a new "keep_preferred" cluster partition handling method</title>
<updated>2014-12-02T14:43:32+00:00</updated>
<author>
<name>Jean-Sebastien Pedron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2014-12-02T14:43:32+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=ea790b439d3972778da910db28c222726f7f92c0'/>
<id>ea790b439d3972778da910db28c222726f7f92c0</id>
<content type='text'>
The syntax is:
    {cluster_partition_management, {keep_preferred, node@domain}}

The specified node name is used to determine which partition should run
or be suspended. Nodes which can still reach the specified node continue
to run. Nodes which can't are suspended.

Compared to pause_minority, this allows the admin to determine which
nodes to prioritize in case of partitions with an equal number of nodes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The syntax is:
    {cluster_partition_management, {keep_preferred, node@domain}}

The specified node name is used to determine which partition should run
or be suspended. Nodes which can still reach the specified node continue
to run. Nodes which can't are suspended.

Compared to pause_minority, this allows the admin to determine which
nodes to prioritize in case of partitions with an equal number of nodes.
</pre>
</div>
</content>
</entry>
<entry>
<title>stable to default</title>
<updated>2014-11-28T11:51:43+00:00</updated>
<author>
<name>Simon MacMullen</name>
<email>simon@rabbitmq.com</email>
</author>
<published>2014-11-28T11:51:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=d205a4285ca02d12493ac0dd0f5256af4294723c'/>
<id>d205a4285ca02d12493ac0dd0f5256af4294723c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge bug26265</title>
<updated>2014-11-28T11:51:31+00:00</updated>
<author>
<name>Simon MacMullen</name>
<email>simon@rabbitmq.com</email>
</author>
<published>2014-11-28T11:51:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=6205faa415846869ccabe016da6940dd2c966f2e'/>
<id>6205faa415846869ccabe016da6940dd2c966f2e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>No need to load/unload the plugin around the plugin_provided_by_otp/1 check</title>
<updated>2014-11-28T11:45:14+00:00</updated>
<author>
<name>Jean-Sebastien Pedron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2014-11-28T11:45:14+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=d6798de8bf063780787c87dc7c0d934d27452cab'/>
<id>d6798de8bf063780787c87dc7c0d934d27452cab</id>
<content type='text'>
While here, remove the unused PluginVsn variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While here, remove the unused PluginVsn variable.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove "Plugins: adding to code path" log message</title>
<updated>2014-11-28T11:33:18+00:00</updated>
<author>
<name>Jean-Sebastien Pedron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2014-11-28T11:33:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=57d48705f822d41ca7f13b3c72c94f1b4dd7b91b'/>
<id>57d48705f822d41ca7f13b3c72c94f1b4dd7b91b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>stable to default</title>
<updated>2014-11-28T11:00:31+00:00</updated>
<author>
<name>Simon MacMullen</name>
<email>simon@rabbitmq.com</email>
</author>
<published>2014-11-28T11:00:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=4a0d79744d1fc06f366f45020999168e21458565'/>
<id>4a0d79744d1fc06f366f45020999168e21458565</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge bug 26081</title>
<updated>2014-11-28T11:00:20+00:00</updated>
<author>
<name>Simon MacMullen</name>
<email>simon@rabbitmq.com</email>
</author>
<published>2014-11-28T11:00:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=8a282e604a8c1be01297b71653dbefe019b9d4e3'/>
<id>8a282e604a8c1be01297b71653dbefe019b9d4e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename this to indicate what it does, not the current circumstances in which it is called.</title>
<updated>2014-11-28T10:41:59+00:00</updated>
<author>
<name>Simon MacMullen</name>
<email>simon@rabbitmq.com</email>
</author>
<published>2014-11-28T10:41:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=f6cfb1a6195aca0af66652b918160dcce02ce34b'/>
<id>f6cfb1a6195aca0af66652b918160dcce02ce34b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
