Skip to content

Commit

Permalink
Add compat.box_info_cluster_meaning (#4584)
Browse files Browse the repository at this point in the history
Resolves #3465

Follow-up on #4427
  • Loading branch information
p7nov authored Oct 9, 2024
1 parent 344ba58 commit dca6d47
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 1 deletion.
2 changes: 2 additions & 0 deletions doc/reference/configuration/configuration_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,8 @@ The ``compat`` section defines values of the :ref:`compat <compat-module>` modul
- ``new``: show the entire cluster
- ``old:``: show the current replica set

See also: :ref:`compat-option-box-info-cluster`

|
| Type: string
| Possible values: 'new', 'old'
Expand Down
2 changes: 1 addition & 1 deletion doc/reference/reference_lua/box_info/cluster.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ box.info.cluster

* ``name`` -- the cluster name

See also: :ref:`compat.box_info_cluster_meaning <configuration_reference_compat_cluster_meaning>`
See also: :ref:`compat.box_info_cluster_meaning <compat-option-box-info-cluster>`

:rtype: table
1 change: 1 addition & 0 deletions doc/reference/reference_lua/compat.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ Below are the available ``compat`` options:
* :doc:`sql_seq_scan_default <./compat/sql_seq_scan_default>`
* :doc:`fiber_slice_default <./compat/fiber_slice_default>`
* :doc:`binary_data_decoding <./compat/binary_data_decoding>`
* :doc:`box_info_cluster_meaning <./compat/box_info_cluster_meaning>`

.. toctree::
:hidden:
Expand Down
73 changes: 73 additions & 0 deletions doc/reference/reference_lua/compat/box_info_cluster_meaning.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
.. _compat-option-box-info-cluster:

Meaning of box.info.cluster
===========================

Option: ``box_info_cluster_meaning``

Starting from version 3.0, the :ref:`box_info_cluster` table stores the information
about the entire cluster. In earlier versions, it stored only the current replica set
information. The ``box_info_cluster_meaning`` compat option in Tarantool 3.0 or later
allows to rollback to the old meaning of ``box.info.cluster`` - display information
about a single replica set.

Old and new behavior
--------------------

New behavior: ``box.info.cluster`` displays information about the entire
cluster with all its replica sets.

.. code-block:: tarantoolsession
tarantool> compat.box_info_cluster_meaning = 'new'
---
...
tarantool> box.info.cluster
---
- name: my_cluster
...
tarantool> box.info.replicaset
---
- uuid: 0a3ff0c7-9075-441c-b0f5-b93a24be07cb
name: router-001
...
.. note::

In the new behavior, :ref:`box_info_replicaset` is equivalent to the old ``box.info.cluster``.

Old behavior: ``box.info.cluster`` displays information about the current replica set.

.. code-block:: tarantoolsession
tarantool> compat.box_info_cluster_meaning = 'old'
---
...
tarantool> box.info.cluster
---
- uuid: 0a3ff0c7-9075-441c-b0f5-b93a24be07cb
name: router-001
...
tarantool> box.info.replicaset
---
- uuid: 0a3ff0c7-9075-441c-b0f5-b93a24be07cb
name: router-001
...
Known compatibility issues
--------------------------

``vshard`` versions earlier than 0.1.24 do not support the new behavior.


Detecting issues in your codebase
---------------------------------

Look for all usages of ``box.info.cluster``, ``info.cluster``, and
``.cluster``, ``['cluster']``, ``["cluster"]`` in the application code
written before the change. To make it work the same way on Tarantool 3.0 or later,
replace the ``cluster`` key with ``replicaset``.

0 comments on commit dca6d47

Please sign in to comment.