diff --git a/doc/reference/configuration/configuration_reference.rst b/doc/reference/configuration/configuration_reference.rst index 7f7963a28..c467512b4 100644 --- a/doc/reference/configuration/configuration_reference.rst +++ b/doc/reference/configuration/configuration_reference.rst @@ -505,6 +505,8 @@ The ``compat`` section defines values of the :ref:`compat ` 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' diff --git a/doc/reference/reference_lua/box_info/cluster.rst b/doc/reference/reference_lua/box_info/cluster.rst index 231d398de..18075b9ff 100644 --- a/doc/reference/reference_lua/box_info/cluster.rst +++ b/doc/reference/reference_lua/box_info/cluster.rst @@ -13,6 +13,6 @@ box.info.cluster * ``name`` -- the cluster name - See also: :ref:`compat.box_info_cluster_meaning ` + See also: :ref:`compat.box_info_cluster_meaning ` :rtype: table diff --git a/doc/reference/reference_lua/compat.rst b/doc/reference/reference_lua/compat.rst index 2b5b70009..0f9999acb 100644 --- a/doc/reference/reference_lua/compat.rst +++ b/doc/reference/reference_lua/compat.rst @@ -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: diff --git a/doc/reference/reference_lua/compat/box_info_cluster_meaning.rst b/doc/reference/reference_lua/compat/box_info_cluster_meaning.rst new file mode 100644 index 000000000..03a67596e --- /dev/null +++ b/doc/reference/reference_lua/compat/box_info_cluster_meaning.rst @@ -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``.