Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions doc/admin/troubleshoot.rst
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,10 @@ This issue can be fixed in two ways:
- Manually: :ref:`reseed <replication-master-master-reseed-replica>` one master from another by removing write-ahead logs and snapshots.
- Programmatically: set up a :ref:`conflict resolution trigger <replication-problem_solving>`.

.. NOTE::

To avoid brain split between two masters, one of the instances may be put in the :ref:`isolated mode <_configuration_reference_isolated_mode>`.

Then, restart replication as described in :ref:`Restarting replication <replication-master-master-resolve-conflict>`.


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
groups:
g:
replicasets:
r:
instances:
i-001: {}
i-002: {}
i-003: {}
i-004:
isolated: true
33 changes: 33 additions & 0 deletions doc/reference/configuration/configuration_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2836,6 +2836,39 @@ Attributes must be ``key: value`` pairs with string keys and values.

See also: :ref:`configuration_labels`

.. _configuration_reference_isolated_mode:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot to say it on the previous review iteration: AFAIR, options/sections on each level are sorted alphabetically. Here isolated goes after labels.


isolated mode
------

Since version :doc:`3.3.0 </release/3.3.0>`, a new ``isolated`` option is added to instance configuration.

The option takes boolean values, by default it is set to ``false``.
``isolated:true`` moves the instance it has been applied at to the **isolated** mode.
Copy link
Contributor

@Totktonada Totktonada May 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: isolated: true looks better for me (comparing to isolated:true).


The isolated mode allows the user to temporarily isolate an instance and perform maintenance activities on it.

The isolated mode moves the instance to the read-only state, in which:

* iproto stops listening for new connections
* iproto drops all the current connections
* The instance is disconnected from all the replication upstreams
* Other replicaset members exclude the isolated instance from the replication upstreams

Once the mode is enabled, any request trying to change persistent data will fail with the ``ER_READONLY`` error.

.. NOTE::

Isolated instance can't be bootstrapped (a local snapshot is required to start).

**Example**

The example below shows how to isolate an instance:

.. literalinclude:: /code_snippets/snippets/config/instances.enabled/isolated_mode/config.yaml
:language: yaml
:dedent:

.. _configuration_reference_log:

log
Expand Down