From b839b984e0be51874dbb27c13a698327c8cbb1f5 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Fri, 13 Sep 2019 16:48:19 +0300 Subject: [PATCH 01/23] Fix gh-893 feedback: Submodule box.info Added follow status. Will need a translation. --- doc/1.10/book/box/box_info.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/1.10/book/box/box_info.rst b/doc/1.10/book/box/box_info.rst index a7335e9ec2..135b261889 100644 --- a/doc/1.10/book/box/box_info.rst +++ b/doc/1.10/book/box/box_info.rst @@ -182,9 +182,12 @@ variables. Even if an instance is :ref:`removed `, its values will still appear here. - * **replication.downstream.status** ``= disconnected`` is displayed if the - downstream instance disconnects from the upstream instance. Otherwise the - status is not reported. + * **replication.downstream.status** is the replication status for downstream + replications: + + * ``disconnected`` is displayed if the downstream instance disconnects + from the upstream instance. + * ``follow`` means that downstream replication is in progress. .. function:: box.info() From 9bb06d33f75e2b1b2915a1b50e00bc4979888d0a Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Fri, 13 Sep 2019 17:38:30 +0300 Subject: [PATCH 02/23] update for Fix gh-893 Fixed status name and some wording in description. --- doc/1.10/book/box/box_info.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/1.10/book/box/box_info.rst b/doc/1.10/book/box/box_info.rst index 135b261889..85f88f6bcc 100644 --- a/doc/1.10/book/box/box_info.rst +++ b/doc/1.10/book/box/box_info.rst @@ -185,8 +185,7 @@ variables. * **replication.downstream.status** is the replication status for downstream replications: - * ``disconnected`` is displayed if the downstream instance disconnects - from the upstream instance. + * ``stopped`` means that downstream replication has stopped. * ``follow`` means that downstream replication is in progress. .. function:: box.info() From 0f27e9f68fb24aac0a46a4754e6e3da7538342e0 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 16 Sep 2019 13:48:02 +0300 Subject: [PATCH 03/23] =?UTF-8?q?Partial=20Fix=20gh-869=20=D0=A1onfusing?= =?UTF-8?q?=20wording=20in=20box.backup=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed description regarding garbage collection in backup.start() --- doc/1.10/book/admin/backups.rst | 7 +++---- locale/ru/LC_MESSAGES/doc.po | 16 ++++++++-------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/doc/1.10/book/admin/backups.rst b/doc/1.10/book/admin/backups.rst index 639196bd63..62ad7316f1 100644 --- a/doc/1.10/book/admin/backups.rst +++ b/doc/1.10/book/admin/backups.rst @@ -88,15 +88,14 @@ checkpoint. To take a mixed backup: 1. Issue :ref:`box.backup.start() ` on the - :ref:`administrative console `. This will suspend - garbage collection till the next ``box.backup.stop()`` and - will return a list of files to back up. + :ref:`administrative console `. This will return a list of + files to back up and suspend garbage collection of them till the next ``box.backup.stop()``. 2. Copy the files from the list to a safe location. This will include memtx snapshot files, vinyl run and index files, at a state consistent with the last checkpoint. -3. Issue ``box.backup.stop()`` so the garbage collector can continue. +3. Issue ``box.backup.stop()`` so the garbage collector can continue as usual. .. _admin-backups-cont_remote_backup_memtx: diff --git a/locale/ru/LC_MESSAGES/doc.po b/locale/ru/LC_MESSAGES/doc.po index 7f9738c80c..a8ce7b5126 100644 --- a/locale/ru/LC_MESSAGES/doc.po +++ b/locale/ru/LC_MESSAGES/doc.po @@ -183,14 +183,14 @@ msgstr "Для создания смешанной резервной копии #: ../doc/1.10/book/admin/backups.rst:124 msgid "" "Issue :ref:`box.backup.start() ` on the " -":ref:`administrative console `. This will suspend garbage" -" collection till the next ``box.backup.stop()`` and will return a list of" -" files to back up." +":ref:`administrative console `. This will +" return a list of files to back up and suspend garbage" +" collection of them till the next ``box.backup.stop()``." msgstr "" "Выполните команду :ref:`box.backup.start() ` " -"в :ref:`административной консоли `. Эта команда " -"приостановит сборку мусора до вызова ``box.backup.stop()`` и покажет " -"список файлов для резервирования." +"в :ref:`административной консоли `. Эта команда покажет " +"список файлов для резервного копирования и приостановит сборку мусора для этих" +"файлов до вызова ``box.backup.stop()``." #: ../doc/1.10/book/admin/backups.rst:129 msgid "" @@ -203,10 +203,10 @@ msgstr "" "последней контрольной точке." #: ../doc/1.10/book/admin/backups.rst:133 -msgid "Issue ``box.backup.stop()`` so the garbage collector can continue." +msgid "Issue ``box.backup.stop()`` so the garbage collector can continue as usual." msgstr "" "Выполните команду ``box.backup.stop()``, чтобы сборщик мусора мог " -"продолжить работу." +"продолжить работу в обычном режиме." #: ../doc/1.10/book/admin/backups.rst:139 msgid "Continuous remote backup (memtx)" From 7c5404cbbc8c08e5d6262997d2e88dde5246a27f Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 16 Sep 2019 14:45:43 +0300 Subject: [PATCH 04/23] =?UTF-8?q?Partial=20Fix=20gh-869=20=D0=A1onfusing?= =?UTF-8?q?=20wording=20in=20box.backup=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed backup.start() use description in disaster recovery. Note the ref-link to box.backup.stop() is the same as the start(). --- doc/1.10/book/admin/disaster_recovery.rst | 11 +++++------ locale/ru/LC_MESSAGES/doc.po | 13 ++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/doc/1.10/book/admin/disaster_recovery.rst b/doc/1.10/book/admin/disaster_recovery.rst index 6b20b8e6fc..37d7dc68bc 100644 --- a/doc/1.10/book/admin/disaster_recovery.rst +++ b/doc/1.10/book/admin/disaster_recovery.rst @@ -113,13 +113,12 @@ The following steps are applicable only to data in memtx storage engine. Your actions: 1. Put all nodes in :ref:`read-only mode ` and disable - checkpointing with :ref:`box.backup.start() `. - Disabling the checkpointing is - necessary to prevent the Tarantool garbage collector from removing files - made with older checkpoints. + deletion of expired checkpoints with :ref:`box.backup.start() `. + This will prevent the Tarantool garbage collector from removing files + made with older checkpoints until :ref:`box.backup.stop() ` called. -2. Get the latest valid :ref:`.snap file ` and use ``tarantoolctl cat`` command to - calculate at which lsn the data loss occurred. +2. Get the latest valid :ref:`.snap file ` and + use ``tarantoolctl cat`` command to calculate at which lsn the data loss occurred. 3. Start a new instance (instance#1) and use ``tarantoolctl play`` command to play to it the contents of .snap/.xlog files up to the calculated lsn. diff --git a/locale/ru/LC_MESSAGES/doc.po b/locale/ru/LC_MESSAGES/doc.po index a8ce7b5126..7a7f04c986 100644 --- a/locale/ru/LC_MESSAGES/doc.po +++ b/locale/ru/LC_MESSAGES/doc.po @@ -1105,17 +1105,16 @@ msgstr "" #: ../doc/1.10/book/admin/disaster_recovery.rst:149 msgid "" -"Put all nodes in :ref:`read-only mode ` and disable " -"checkpointing with :ref:`box.backup.start() `. Disabling the checkpointing is necessary to prevent the " -"Tarantool garbage collector from removing files made with older " -"checkpoints." +"Put all nodes in :ref:`read-only mode ` and disable" +"deletion of expired checkpoints with :ref:`box.backup.start() `." +"This will prevent the Tarantool garbage collector from removing files" +"made with older checkpoints until :ref:`box.backup.stop() `." msgstr "" "Переключите все узлы в :ref:`режим только для чтения ` и отключите командой :ref:`box.backup.start() ` создание контрольных точек. Последнее действие необходимо," +"backup_start>` удаление устаревших контрольных точек. Последнее действие необходимо," " чтобы сборщик мусора автоматически не удалил более старые контрольные " -"точки." +"точки до тех пор, пока не будет вызвана команда :ref:`box.backup.stop() `." #: ../doc/1.10/book/admin/disaster_recovery.rst:155 msgid "" From 11806f9a94e22da3ef6128e72dab6863d4ebf9e0 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Tue, 17 Sep 2019 16:26:38 +0300 Subject: [PATCH 05/23] Fix gh-876 document reaction on error in replication configuration change. Clarified description of situation 2 (local recovery) and added proposed variants to leave orphan status. --- .../book/replication/repl_add_instances.rst | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/doc/1.10/book/replication/repl_add_instances.rst b/doc/1.10/book/replication/repl_add_instances.rst index ad1d77f311..790be3b293 100644 --- a/doc/1.10/book/replication/repl_add_instances.rst +++ b/doc/1.10/book/replication/repl_add_instances.rst @@ -198,6 +198,16 @@ is less than or equal to the number of seconds specified in If ``replication_sync_lag`` is unset (nil) or set to TIMEOUT_INFINITY, then the replica skips the "sync" state and switches to "follow" immediately. +In order to leave orphan mode you need to sync with enough +(:ref:`replication_connect_quorum `) +instances. To do so, you may either: + +* Set :ref:`replication_connect_quorum ` + to a lower value. +* Reset ``box.cfg.replication`` to exclude instances that cannot be reached + or synced with. +* Set ``box.cfg.replication`` to ``""`` (empty string). + The following situations are possible. .. _replication-leader: @@ -215,7 +225,7 @@ A replica is joining but no replica set exists yet. :ref:`replication_connect_timeout ` is overridden. - 3. Abort if not connected to all nodes in ``box.cfg.replication`` or + 3. Abort and throw an error if not connected to all nodes in ``box.cfg.replication`` or :ref:`replication_connect_quorum `. 4. This instance might be elected as the replica set 'leader'. @@ -248,9 +258,11 @@ It is being called again in order to perform recovery. 2. Connect to at least :ref:`replication_connect_quorum ` - nodes. + nodes. If failed - set status to 'orphan'. + (Attempts to sync will continue in the background and when/if they succeed + then 'orphan' status will end.) - 3. Sync with all connected nodes, until the difference is not more than + 3. If connected - sync with all connected nodes, until the difference is not more than :ref:`replication_sync_lag ` seconds. .. _replication-configuration_update: From e612a06a971de27b60295c9ad6f3553cb396e5e5 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Wed, 18 Sep 2019 12:44:03 +0300 Subject: [PATCH 06/23] Update gh-868 Tarantool dependency list was changed Fixed py27-msgpack package name and added a temporary warning about current possible problem with openssl111 depemdency. This warning to be considered for deletion after fixing dependencies. --- doc/1.10/dev_guide/building_from_source.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/1.10/dev_guide/building_from_source.rst b/doc/1.10/dev_guide/building_from_source.rst index 64de2e1640..66e343a0ea 100644 --- a/doc/1.10/dev_guide/building_from_source.rst +++ b/doc/1.10/dev_guide/building_from_source.rst @@ -98,7 +98,7 @@ the preferences can differ. But strategically the steps are always the same. autoconf automake libtool \ readline ncurses libyaml openssl libunwind icu \ python27 py27-pip py27-setuptools py27-daemon \ - py27-msgpack-python py27-yaml py27-argparse py27-six py27-gevent + py27-msgpack py27-yaml py27-argparse py27-six py27-gevent If some Python modules are not available in a repository, it is best to set up the modules by getting a tarball and @@ -186,6 +186,11 @@ the preferences can differ. But strategically the steps are always the same. This creates the 'tarantool' executable in the ``src/`` directory. + .. NOTE:: + + If you encounter a ``curl`` or ``OpenSSL`` errors on this step try + installing openssl111 package of the specific 1.1.1d version. + Next, it's highly recommended to say ``make install`` to install Tarantool to the ``/usr/local`` directory and keep your system clean. However, it is possible to run the Tarantool executable without installation. From fba422f949edf05574326041b579e2ff3c1be7b1 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Thu, 19 Sep 2019 19:41:09 +0300 Subject: [PATCH 07/23] Fix gh-915 feedback: Building from source Add 'make' dependecy --- doc/1.10/dev_guide/building_from_source.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/1.10/dev_guide/building_from_source.rst b/doc/1.10/dev_guide/building_from_source.rst index 66e343a0ea..a559111510 100644 --- a/doc/1.10/dev_guide/building_from_source.rst +++ b/doc/1.10/dev_guide/building_from_source.rst @@ -22,6 +22,9 @@ the preferences can differ. But strategically the steps are always the same. * A program for managing the build process. |br| For all platforms, this is ``CMake`` version 2.8+. + * A build automation tool. |br| For all platforms, except FreeBSD this is + ``BSD Make``, but for FreeBSD this is ``GNU Make``. + * `ReadLine `_ library, any version * `ncurses `_ library, any version * `OpenSSL `_ library, version 1.0.1+ @@ -49,7 +52,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console - $ apt install -y build-essential cmake coreutils sed \ + $ apt install -y build-essential cmake make coreutils sed \ autoconf automake libtool zlib1g-dev \ libreadline-dev libncurses5-dev libyaml-dev libssl-dev \ libunwind-dev libicu-dev \ @@ -60,7 +63,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console - $ yum install -y gcc gcc-c++ cmake coreutils sed \ + $ yum install -y gcc gcc-c++ cmake make coreutils sed \ autoconf automake libtool zlib-devel \ readline-devel ncurses-devel libyaml-devel openssl-devel \ libunwind-devel libicu-devel \ @@ -73,7 +76,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console - $ brew install cmake autoconf binutils zlib \ + $ brew install cmake make autoconf binutils zlib \ autoconf automake libtool \ readline ncurses libyaml openssl libunwind-headers icu4c \ && pip install python-daemon \ From 70c908f9a30f9263dc938603b10ea450ea0f2d8b Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 30 Sep 2019 14:05:53 +0300 Subject: [PATCH 08/23] =?UTF-8?q?Fix=20gh-902=20feedback:=20=D0=A1=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D0=B0=20=D0=B8=D0=B7=20=D0=B8=D1=81=D1=85?= =?UTF-8?q?=D0=BE=D0=B4=D0=BD=D1=8B=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed by adding one command. Translation not needed. --- doc/1.10/dev_guide/building_from_source.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/1.10/dev_guide/building_from_source.rst b/doc/1.10/dev_guide/building_from_source.rst index a559111510..5d9291c27a 100644 --- a/doc/1.10/dev_guide/building_from_source.rst +++ b/doc/1.10/dev_guide/building_from_source.rst @@ -148,6 +148,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console + cd ~/tarantool $ git submodule update --init --recursive 3. Use CMake to initiate the build. From bb6cd02ed4ba4d90abf5a84ac52869b7fbcc13d6 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 30 Sep 2019 14:15:27 +0300 Subject: [PATCH 09/23] Fix gh-920 feedback: Module vshard Added double ` for make command. Both Eng and Rus versions. --- doc/1.10/reference/reference_rock/vshard/index.rst | 2 +- locale/ru/LC_MESSAGES/doc.po | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/1.10/reference/reference_rock/vshard/index.rst b/doc/1.10/reference/reference_rock/vshard/index.rst index d0ee0c15b5..b114b594a3 100644 --- a/doc/1.10/reference/reference_rock/vshard/index.rst +++ b/doc/1.10/reference/reference_rock/vshard/index.rst @@ -85,7 +85,7 @@ Tarantool instances in total: All instances are managed using the ``tarantoolctl`` utility which comes with Tarantool. -Change the directory to ``example/`` and use make to run the development cluster: +Change the directory to ``example/`` and use ``make`` to run the development cluster: .. code-block:: console diff --git a/locale/ru/LC_MESSAGES/doc.po b/locale/ru/LC_MESSAGES/doc.po index 7a7f04c986..7bb79f77da 100644 --- a/locale/ru/LC_MESSAGES/doc.po +++ b/locale/ru/LC_MESSAGES/doc.po @@ -67394,10 +67394,10 @@ msgstr "" #: ../doc/1.10/reference/reference_rock/vshard/index.rst:122 msgid "" -"Change the directory to ``example/`` and use make to run the development " +"Change the directory to ``example/`` and use ``make`` to run the development " "cluster:" msgstr "" -"Измените директорию ``example/`` и используйте команду make для запуска " +"Измените директорию ``example/`` и используйте команду ``make`` для запуска " "кластера:" #: ../doc/1.10/reference/reference_rock/vshard/index.rst:124 From 0b1c153382fd8c339dc68237f91e8718efd001ca Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 30 Sep 2019 15:11:50 +0300 Subject: [PATCH 10/23] Fix gh-922 feedback: Module vshard Corrected with the git-repository ref. Need translation fix (pot file generation and review). --- doc/1.10/reference/reference_rock/vshard/index.rst | 3 ++- locale/ru/LC_MESSAGES/doc.po | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/1.10/reference/reference_rock/vshard/index.rst b/doc/1.10/reference/reference_rock/vshard/index.rst index b114b594a3..930ad85c71 100644 --- a/doc/1.10/reference/reference_rock/vshard/index.rst +++ b/doc/1.10/reference/reference_rock/vshard/index.rst @@ -73,7 +73,8 @@ To acquire it, do a separate installation: Quick start ------------------------------------------------------------------------------- -The ``vshard/example/`` directory includes a pre-configured development cluster +The ``example/`` directory of `the vshard git-repository `_ +includes a pre-configured development cluster of 1 ``router`` and 2 replica sets of 2 nodes (2 ``storages``) each, making 5 Tarantool instances in total: diff --git a/locale/ru/LC_MESSAGES/doc.po b/locale/ru/LC_MESSAGES/doc.po index 7bb79f77da..2ab93d657c 100644 --- a/locale/ru/LC_MESSAGES/doc.po +++ b/locale/ru/LC_MESSAGES/doc.po @@ -67340,12 +67340,14 @@ msgstr "Краткое руководство" #: ../doc/1.10/reference/reference_rock/vshard/index.rst:110 msgid "" -"The ``vshard/example/`` directory includes a pre-configured development " -"cluster of 1 ``router`` and 2 replica sets of 2 nodes (2 ``storages``) " +"The ``example/`` directory of `the vshard git-repository `_" +"includes a pre-configured development cluster" +"of 1 ``router`` and 2 replica sets of 2 nodes (2 ``storages``) " "each, making 5 Tarantool instances in total:" msgstr "" -"В директории ``vshard/example/`` находится предварительно настроенный " -"кластер из 1 роутера и 2 наборов реплик из 2 узлов (2 хранилища) в " +"В директории ``example/`` `гит репозитория vshard `_ " +"находится предварительно настроенный " +"кластер из 1 роутера и 2 наборов реплик из 2 узлов (2 хранилищ) в " "каждом, что составляет всего 5 экземпляров Tarantool'а в целом:" #: ../doc/1.10/reference/reference_rock/vshard/index.rst:114 From 1e6f234476317b97c5b95a895c8692c459000302 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 21 Oct 2019 17:38:16 +0300 Subject: [PATCH 11/23] Fixes after review Adressed minor issues after review. --- doc/1.10/book/admin/backups.rst | 2 +- doc/1.10/book/admin/disaster_recovery.rst | 2 +- doc/1.10/book/replication/repl_add_instances.rst | 6 +++--- doc/1.10/dev_guide/building_from_source.rst | 2 +- locale/ru/LC_MESSAGES/doc.po | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/1.10/book/admin/backups.rst b/doc/1.10/book/admin/backups.rst index 62ad7316f1..fe4742bb19 100644 --- a/doc/1.10/book/admin/backups.rst +++ b/doc/1.10/book/admin/backups.rst @@ -89,7 +89,7 @@ To take a mixed backup: 1. Issue :ref:`box.backup.start() ` on the :ref:`administrative console `. This will return a list of - files to back up and suspend garbage collection of them till the next ``box.backup.stop()``. + files to back up and suspend garbage collection for them till the next ``box.backup.stop()``. 2. Copy the files from the list to a safe location. This will include memtx snapshot files, vinyl run and index files, at a state consistent with the diff --git a/doc/1.10/book/admin/disaster_recovery.rst b/doc/1.10/book/admin/disaster_recovery.rst index 37d7dc68bc..8c4f707430 100644 --- a/doc/1.10/book/admin/disaster_recovery.rst +++ b/doc/1.10/book/admin/disaster_recovery.rst @@ -115,7 +115,7 @@ Your actions: 1. Put all nodes in :ref:`read-only mode ` and disable deletion of expired checkpoints with :ref:`box.backup.start() `. This will prevent the Tarantool garbage collector from removing files - made with older checkpoints until :ref:`box.backup.stop() ` called. + made with older checkpoints until :ref:`box.backup.stop() ` is called. 2. Get the latest valid :ref:`.snap file ` and use ``tarantoolctl cat`` command to calculate at which lsn the data loss occurred. diff --git a/doc/1.10/book/replication/repl_add_instances.rst b/doc/1.10/book/replication/repl_add_instances.rst index 790be3b293..e7a74ceaa2 100644 --- a/doc/1.10/book/replication/repl_add_instances.rst +++ b/doc/1.10/book/replication/repl_add_instances.rst @@ -198,8 +198,8 @@ is less than or equal to the number of seconds specified in If ``replication_sync_lag`` is unset (nil) or set to TIMEOUT_INFINITY, then the replica skips the "sync" state and switches to "follow" immediately. -In order to leave orphan mode you need to sync with enough -(:ref:`replication_connect_quorum `) +In order to leave orphan mode you need to sync with a sufficient number +(:ref:`replication_connect_quorum `) of instances. To do so, you may either: * Set :ref:`replication_connect_quorum ` @@ -260,7 +260,7 @@ It is being called again in order to perform recovery. :ref:`replication_connect_quorum ` nodes. If failed - set status to 'orphan'. (Attempts to sync will continue in the background and when/if they succeed - then 'orphan' status will end.) + then 'orphan' will be changed to 'connected'.) 3. If connected - sync with all connected nodes, until the difference is not more than :ref:`replication_sync_lag ` seconds. diff --git a/doc/1.10/dev_guide/building_from_source.rst b/doc/1.10/dev_guide/building_from_source.rst index 5d9291c27a..31af301e29 100644 --- a/doc/1.10/dev_guide/building_from_source.rst +++ b/doc/1.10/dev_guide/building_from_source.rst @@ -193,7 +193,7 @@ the preferences can differ. But strategically the steps are always the same. .. NOTE:: If you encounter a ``curl`` or ``OpenSSL`` errors on this step try - installing openssl111 package of the specific 1.1.1d version. + installing ``openssl111`` package of the specific ``1.1.1d`` version. Next, it's highly recommended to say ``make install`` to install Tarantool to the ``/usr/local`` directory and keep your system clean. However, it is diff --git a/locale/ru/LC_MESSAGES/doc.po b/locale/ru/LC_MESSAGES/doc.po index 2ab93d657c..fd59a64250 100644 --- a/locale/ru/LC_MESSAGES/doc.po +++ b/locale/ru/LC_MESSAGES/doc.po @@ -185,7 +185,7 @@ msgid "" "Issue :ref:`box.backup.start() ` on the " ":ref:`administrative console `. This will " return a list of files to back up and suspend garbage" -" collection of them till the next ``box.backup.stop()``." +" collection for them till the next ``box.backup.stop()``." msgstr "" "Выполните команду :ref:`box.backup.start() ` " "в :ref:`административной консоли `. Эта команда покажет " From afe3a32d6a9c1292df52a7422578e3c756373f9a Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Fri, 13 Sep 2019 16:48:19 +0300 Subject: [PATCH 12/23] Fix gh-893 feedback: Submodule box.info Added follow status. Will need a translation. --- doc/book/box/box_info.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/book/box/box_info.rst b/doc/book/box/box_info.rst index a7335e9ec2..135b261889 100644 --- a/doc/book/box/box_info.rst +++ b/doc/book/box/box_info.rst @@ -182,9 +182,12 @@ variables. Even if an instance is :ref:`removed `, its values will still appear here. - * **replication.downstream.status** ``= disconnected`` is displayed if the - downstream instance disconnects from the upstream instance. Otherwise the - status is not reported. + * **replication.downstream.status** is the replication status for downstream + replications: + + * ``disconnected`` is displayed if the downstream instance disconnects + from the upstream instance. + * ``follow`` means that downstream replication is in progress. .. function:: box.info() From de2e649e7ea8f6c23ffe13db6a3b0cad636b36a7 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Fri, 13 Sep 2019 17:38:30 +0300 Subject: [PATCH 13/23] update for Fix gh-893 Fixed status name and some wording in description. --- doc/book/box/box_info.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/book/box/box_info.rst b/doc/book/box/box_info.rst index 135b261889..85f88f6bcc 100644 --- a/doc/book/box/box_info.rst +++ b/doc/book/box/box_info.rst @@ -185,8 +185,7 @@ variables. * **replication.downstream.status** is the replication status for downstream replications: - * ``disconnected`` is displayed if the downstream instance disconnects - from the upstream instance. + * ``stopped`` means that downstream replication has stopped. * ``follow`` means that downstream replication is in progress. .. function:: box.info() From 2ade3c4e341944c9513d6a8128bda107a8f53dff Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 16 Sep 2019 13:48:02 +0300 Subject: [PATCH 14/23] =?UTF-8?q?Partial=20Fix=20gh-869=20=D0=A1onfusing?= =?UTF-8?q?=20wording=20in=20box.backup=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed description regarding garbage collection in backup.start() --- doc/book/admin/backups.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/book/admin/backups.rst b/doc/book/admin/backups.rst index 639196bd63..62ad7316f1 100644 --- a/doc/book/admin/backups.rst +++ b/doc/book/admin/backups.rst @@ -88,15 +88,14 @@ checkpoint. To take a mixed backup: 1. Issue :ref:`box.backup.start() ` on the - :ref:`administrative console `. This will suspend - garbage collection till the next ``box.backup.stop()`` and - will return a list of files to back up. + :ref:`administrative console `. This will return a list of + files to back up and suspend garbage collection of them till the next ``box.backup.stop()``. 2. Copy the files from the list to a safe location. This will include memtx snapshot files, vinyl run and index files, at a state consistent with the last checkpoint. -3. Issue ``box.backup.stop()`` so the garbage collector can continue. +3. Issue ``box.backup.stop()`` so the garbage collector can continue as usual. .. _admin-backups-cont_remote_backup_memtx: From ae3746afd87de114011c27d2d18d9601804f0a9f Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 16 Sep 2019 14:45:43 +0300 Subject: [PATCH 15/23] =?UTF-8?q?Partial=20Fix=20gh-869=20=D0=A1onfusing?= =?UTF-8?q?=20wording=20in=20box.backup=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed backup.start() use description in disaster recovery. Note the ref-link to box.backup.stop() is the same as the start(). --- doc/book/admin/disaster_recovery.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/book/admin/disaster_recovery.rst b/doc/book/admin/disaster_recovery.rst index 6b20b8e6fc..37d7dc68bc 100644 --- a/doc/book/admin/disaster_recovery.rst +++ b/doc/book/admin/disaster_recovery.rst @@ -113,13 +113,12 @@ The following steps are applicable only to data in memtx storage engine. Your actions: 1. Put all nodes in :ref:`read-only mode ` and disable - checkpointing with :ref:`box.backup.start() `. - Disabling the checkpointing is - necessary to prevent the Tarantool garbage collector from removing files - made with older checkpoints. + deletion of expired checkpoints with :ref:`box.backup.start() `. + This will prevent the Tarantool garbage collector from removing files + made with older checkpoints until :ref:`box.backup.stop() ` called. -2. Get the latest valid :ref:`.snap file ` and use ``tarantoolctl cat`` command to - calculate at which lsn the data loss occurred. +2. Get the latest valid :ref:`.snap file ` and + use ``tarantoolctl cat`` command to calculate at which lsn the data loss occurred. 3. Start a new instance (instance#1) and use ``tarantoolctl play`` command to play to it the contents of .snap/.xlog files up to the calculated lsn. From d8b41939441eff48fdaafc899e7ff5c6ea1259cf Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Tue, 17 Sep 2019 16:26:38 +0300 Subject: [PATCH 16/23] Fix gh-876 document reaction on error in replication configuration change. Clarified description of situation 2 (local recovery) and added proposed variants to leave orphan status. --- doc/book/replication/repl_add_instances.rst | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/doc/book/replication/repl_add_instances.rst b/doc/book/replication/repl_add_instances.rst index ad1d77f311..790be3b293 100644 --- a/doc/book/replication/repl_add_instances.rst +++ b/doc/book/replication/repl_add_instances.rst @@ -198,6 +198,16 @@ is less than or equal to the number of seconds specified in If ``replication_sync_lag`` is unset (nil) or set to TIMEOUT_INFINITY, then the replica skips the "sync" state and switches to "follow" immediately. +In order to leave orphan mode you need to sync with enough +(:ref:`replication_connect_quorum `) +instances. To do so, you may either: + +* Set :ref:`replication_connect_quorum ` + to a lower value. +* Reset ``box.cfg.replication`` to exclude instances that cannot be reached + or synced with. +* Set ``box.cfg.replication`` to ``""`` (empty string). + The following situations are possible. .. _replication-leader: @@ -215,7 +225,7 @@ A replica is joining but no replica set exists yet. :ref:`replication_connect_timeout ` is overridden. - 3. Abort if not connected to all nodes in ``box.cfg.replication`` or + 3. Abort and throw an error if not connected to all nodes in ``box.cfg.replication`` or :ref:`replication_connect_quorum `. 4. This instance might be elected as the replica set 'leader'. @@ -248,9 +258,11 @@ It is being called again in order to perform recovery. 2. Connect to at least :ref:`replication_connect_quorum ` - nodes. + nodes. If failed - set status to 'orphan'. + (Attempts to sync will continue in the background and when/if they succeed + then 'orphan' status will end.) - 3. Sync with all connected nodes, until the difference is not more than + 3. If connected - sync with all connected nodes, until the difference is not more than :ref:`replication_sync_lag ` seconds. .. _replication-configuration_update: From b84b6a1e4d9f533d901f767b59796dbab5e39506 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Wed, 18 Sep 2019 12:44:03 +0300 Subject: [PATCH 17/23] Update gh-868 Tarantool dependency list was changed Fixed py27-msgpack package name and added a temporary warning about current possible problem with openssl111 depemdency. This warning to be considered for deletion after fixing dependencies. --- doc/dev_guide/building_from_source.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/dev_guide/building_from_source.rst b/doc/dev_guide/building_from_source.rst index 64de2e1640..66e343a0ea 100644 --- a/doc/dev_guide/building_from_source.rst +++ b/doc/dev_guide/building_from_source.rst @@ -98,7 +98,7 @@ the preferences can differ. But strategically the steps are always the same. autoconf automake libtool \ readline ncurses libyaml openssl libunwind icu \ python27 py27-pip py27-setuptools py27-daemon \ - py27-msgpack-python py27-yaml py27-argparse py27-six py27-gevent + py27-msgpack py27-yaml py27-argparse py27-six py27-gevent If some Python modules are not available in a repository, it is best to set up the modules by getting a tarball and @@ -186,6 +186,11 @@ the preferences can differ. But strategically the steps are always the same. This creates the 'tarantool' executable in the ``src/`` directory. + .. NOTE:: + + If you encounter a ``curl`` or ``OpenSSL`` errors on this step try + installing openssl111 package of the specific 1.1.1d version. + Next, it's highly recommended to say ``make install`` to install Tarantool to the ``/usr/local`` directory and keep your system clean. However, it is possible to run the Tarantool executable without installation. From 8112d9f2770b29338d01093446789b88c48d84af Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Thu, 19 Sep 2019 19:41:09 +0300 Subject: [PATCH 18/23] Fix gh-915 feedback: Building from source Add 'make' dependecy --- doc/dev_guide/building_from_source.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/dev_guide/building_from_source.rst b/doc/dev_guide/building_from_source.rst index 66e343a0ea..a559111510 100644 --- a/doc/dev_guide/building_from_source.rst +++ b/doc/dev_guide/building_from_source.rst @@ -22,6 +22,9 @@ the preferences can differ. But strategically the steps are always the same. * A program for managing the build process. |br| For all platforms, this is ``CMake`` version 2.8+. + * A build automation tool. |br| For all platforms, except FreeBSD this is + ``BSD Make``, but for FreeBSD this is ``GNU Make``. + * `ReadLine `_ library, any version * `ncurses `_ library, any version * `OpenSSL `_ library, version 1.0.1+ @@ -49,7 +52,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console - $ apt install -y build-essential cmake coreutils sed \ + $ apt install -y build-essential cmake make coreutils sed \ autoconf automake libtool zlib1g-dev \ libreadline-dev libncurses5-dev libyaml-dev libssl-dev \ libunwind-dev libicu-dev \ @@ -60,7 +63,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console - $ yum install -y gcc gcc-c++ cmake coreutils sed \ + $ yum install -y gcc gcc-c++ cmake make coreutils sed \ autoconf automake libtool zlib-devel \ readline-devel ncurses-devel libyaml-devel openssl-devel \ libunwind-devel libicu-devel \ @@ -73,7 +76,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console - $ brew install cmake autoconf binutils zlib \ + $ brew install cmake make autoconf binutils zlib \ autoconf automake libtool \ readline ncurses libyaml openssl libunwind-headers icu4c \ && pip install python-daemon \ From d3dec34bea10e248447da642dd36afd6b682ee47 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 30 Sep 2019 14:05:53 +0300 Subject: [PATCH 19/23] =?UTF-8?q?Fix=20gh-902=20feedback:=20=D0=A1=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D0=B0=20=D0=B8=D0=B7=20=D0=B8=D1=81=D1=85?= =?UTF-8?q?=D0=BE=D0=B4=D0=BD=D1=8B=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed by adding one command. Translation not needed. --- doc/dev_guide/building_from_source.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/dev_guide/building_from_source.rst b/doc/dev_guide/building_from_source.rst index a559111510..5d9291c27a 100644 --- a/doc/dev_guide/building_from_source.rst +++ b/doc/dev_guide/building_from_source.rst @@ -148,6 +148,7 @@ the preferences can differ. But strategically the steps are always the same. .. code-block:: console + cd ~/tarantool $ git submodule update --init --recursive 3. Use CMake to initiate the build. From 36a45312e928c9187403eb3719e8b31ea357dbd1 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 30 Sep 2019 14:15:27 +0300 Subject: [PATCH 20/23] Fix gh-920 feedback: Module vshard Added double ` for make command. Both Eng and Rus versions. --- doc/reference/reference_rock/vshard/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/reference/reference_rock/vshard/index.rst b/doc/reference/reference_rock/vshard/index.rst index d0ee0c15b5..b114b594a3 100644 --- a/doc/reference/reference_rock/vshard/index.rst +++ b/doc/reference/reference_rock/vshard/index.rst @@ -85,7 +85,7 @@ Tarantool instances in total: All instances are managed using the ``tarantoolctl`` utility which comes with Tarantool. -Change the directory to ``example/`` and use make to run the development cluster: +Change the directory to ``example/`` and use ``make`` to run the development cluster: .. code-block:: console From 93184fa7122a6cd491b0019b0f998744dae04004 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 30 Sep 2019 15:11:50 +0300 Subject: [PATCH 21/23] Fix gh-922 feedback: Module vshard Corrected with the git-repository ref. Need translation fix (pot file generation and review). --- doc/reference/reference_rock/vshard/index.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/reference/reference_rock/vshard/index.rst b/doc/reference/reference_rock/vshard/index.rst index b114b594a3..930ad85c71 100644 --- a/doc/reference/reference_rock/vshard/index.rst +++ b/doc/reference/reference_rock/vshard/index.rst @@ -73,7 +73,8 @@ To acquire it, do a separate installation: Quick start ------------------------------------------------------------------------------- -The ``vshard/example/`` directory includes a pre-configured development cluster +The ``example/`` directory of `the vshard git-repository `_ +includes a pre-configured development cluster of 1 ``router`` and 2 replica sets of 2 nodes (2 ``storages``) each, making 5 Tarantool instances in total: From 99efa8400b25de931a4c8a0814190e468aa45690 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Mon, 21 Oct 2019 17:38:16 +0300 Subject: [PATCH 22/23] Fixes after review Adressed minor issues after review. --- doc/book/admin/backups.rst | 2 +- doc/book/admin/disaster_recovery.rst | 2 +- doc/book/replication/repl_add_instances.rst | 6 +++--- doc/dev_guide/building_from_source.rst | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/book/admin/backups.rst b/doc/book/admin/backups.rst index 62ad7316f1..fe4742bb19 100644 --- a/doc/book/admin/backups.rst +++ b/doc/book/admin/backups.rst @@ -89,7 +89,7 @@ To take a mixed backup: 1. Issue :ref:`box.backup.start() ` on the :ref:`administrative console `. This will return a list of - files to back up and suspend garbage collection of them till the next ``box.backup.stop()``. + files to back up and suspend garbage collection for them till the next ``box.backup.stop()``. 2. Copy the files from the list to a safe location. This will include memtx snapshot files, vinyl run and index files, at a state consistent with the diff --git a/doc/book/admin/disaster_recovery.rst b/doc/book/admin/disaster_recovery.rst index 37d7dc68bc..8c4f707430 100644 --- a/doc/book/admin/disaster_recovery.rst +++ b/doc/book/admin/disaster_recovery.rst @@ -115,7 +115,7 @@ Your actions: 1. Put all nodes in :ref:`read-only mode ` and disable deletion of expired checkpoints with :ref:`box.backup.start() `. This will prevent the Tarantool garbage collector from removing files - made with older checkpoints until :ref:`box.backup.stop() ` called. + made with older checkpoints until :ref:`box.backup.stop() ` is called. 2. Get the latest valid :ref:`.snap file ` and use ``tarantoolctl cat`` command to calculate at which lsn the data loss occurred. diff --git a/doc/book/replication/repl_add_instances.rst b/doc/book/replication/repl_add_instances.rst index 790be3b293..e7a74ceaa2 100644 --- a/doc/book/replication/repl_add_instances.rst +++ b/doc/book/replication/repl_add_instances.rst @@ -198,8 +198,8 @@ is less than or equal to the number of seconds specified in If ``replication_sync_lag`` is unset (nil) or set to TIMEOUT_INFINITY, then the replica skips the "sync" state and switches to "follow" immediately. -In order to leave orphan mode you need to sync with enough -(:ref:`replication_connect_quorum `) +In order to leave orphan mode you need to sync with a sufficient number +(:ref:`replication_connect_quorum `) of instances. To do so, you may either: * Set :ref:`replication_connect_quorum ` @@ -260,7 +260,7 @@ It is being called again in order to perform recovery. :ref:`replication_connect_quorum ` nodes. If failed - set status to 'orphan'. (Attempts to sync will continue in the background and when/if they succeed - then 'orphan' status will end.) + then 'orphan' will be changed to 'connected'.) 3. If connected - sync with all connected nodes, until the difference is not more than :ref:`replication_sync_lag ` seconds. diff --git a/doc/dev_guide/building_from_source.rst b/doc/dev_guide/building_from_source.rst index 5d9291c27a..31af301e29 100644 --- a/doc/dev_guide/building_from_source.rst +++ b/doc/dev_guide/building_from_source.rst @@ -193,7 +193,7 @@ the preferences can differ. But strategically the steps are always the same. .. NOTE:: If you encounter a ``curl`` or ``OpenSSL`` errors on this step try - installing openssl111 package of the specific 1.1.1d version. + installing ``openssl111`` package of the specific ``1.1.1d`` version. Next, it's highly recommended to say ``make install`` to install Tarantool to the ``/usr/local`` directory and keep your system clean. However, it is From 7a5f52e123c6cc825325c877c03769b8a8e96241 Mon Sep 17 00:00:00 2001 From: Vladimir I Date: Sun, 10 Nov 2019 17:23:40 +0300 Subject: [PATCH 23/23] Fix gh-915 feedback: Building from source This is to correct a misunderstanding in make versions. --- doc/dev_guide/building_from_source.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/dev_guide/building_from_source.rst b/doc/dev_guide/building_from_source.rst index 31af301e29..7152947c2b 100644 --- a/doc/dev_guide/building_from_source.rst +++ b/doc/dev_guide/building_from_source.rst @@ -22,8 +22,7 @@ the preferences can differ. But strategically the steps are always the same. * A program for managing the build process. |br| For all platforms, this is ``CMake`` version 2.8+. - * A build automation tool. |br| For all platforms, except FreeBSD this is - ``BSD Make``, but for FreeBSD this is ``GNU Make``. + * A build automation tool. |br| For all platforms this is ``GNU Make``. * `ReadLine `_ library, any version * `ncurses `_ library, any version @@ -93,7 +92,7 @@ the preferences can differ. But strategically the steps are always the same. $ xcode-select --install $ xcode-select -switch /Applications/Xcode.app/Contents/Developer - * For FreeBSD (instructions below are for FreeBSD 10.1 release), say: + * For FreeBSD (instructions below are for FreeBSD 10.1+ release), say: .. code-block:: console