Skip to content

Adds isolated instance mode description #5136

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 2, 2025
Merged
Show file tree
Hide file tree
Changes from all 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::

If one of the instances must be isolated during troubleshooting, it can be put to 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
32 changes: 32 additions & 0 deletions doc/reference/configuration/configuration_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2805,6 +2805,38 @@ instances
Any configuration parameter that can be defined in the instance :ref:`scope <configuration_scopes>`.
For example, :ref:`iproto <configuration_reference_iproto>` and :ref:`database <configuration_reference_database>` configuration parameters defined at the instance level are applied to this instance only.

.. _configuration_reference_isolated_mode:
Copy link
Member

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.

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

In the isolated mode:

* The instance is moved to the read-only state
* 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

.. 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_labels:

labels
Expand Down