diff --git a/doc/admin/troubleshoot.rst b/doc/admin/troubleshoot.rst index 0e12b5183..ec1ec63cc 100644 --- a/doc/admin/troubleshoot.rst +++ b/doc/admin/troubleshoot.rst @@ -254,6 +254,10 @@ This issue can be fixed in two ways: - Manually: :ref:`reseed ` one master from another by removing write-ahead logs and snapshots. - Programmatically: set up a :ref:`conflict resolution trigger `. +.. 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 `. diff --git a/doc/code_snippets/snippets/config/instances.enabled/isolated_mode/config.yaml b/doc/code_snippets/snippets/config/instances.enabled/isolated_mode/config.yaml new file mode 100644 index 000000000..aed96e565 --- /dev/null +++ b/doc/code_snippets/snippets/config/instances.enabled/isolated_mode/config.yaml @@ -0,0 +1,10 @@ +groups: + g: + replicasets: + r: + instances: + i-001: {} + i-002: {} + i-003: {} + i-004: + isolated: true diff --git a/doc/reference/configuration/configuration_reference.rst b/doc/reference/configuration/configuration_reference.rst index 8a0b8a2a2..9d4da2382 100644 --- a/doc/reference/configuration/configuration_reference.rst +++ b/doc/reference/configuration/configuration_reference.rst @@ -2805,6 +2805,38 @@ instances Any configuration parameter that can be defined in the instance :ref:`scope `. For example, :ref:`iproto ` and :ref:`database ` configuration parameters defined at the instance level are applied to this instance only. +.. _configuration_reference_isolated_mode: + +isolated mode +------ + +Since version :doc:`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