From 55c79bd54e69b2110e3474346b09c1f0ff235232 Mon Sep 17 00:00:00 2001
From: Yaroslav Dynnikov <yaroslav.dynnikov@gmail.com>
Date: Tue, 24 Jan 2023 18:23:00 +0300
Subject: [PATCH] doc: enhance clustering.md, review start_join

---
 docs/clustering.md | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/docs/clustering.md b/docs/clustering.md
index 81cd32bccf..4d319f743a 100644
--- a/docs/clustering.md
+++ b/docs/clustering.md
@@ -121,18 +121,23 @@ discovery не будет, инстанс сразу перейдет к эта
 поэтому на данном этапе в БД нет ни модуля `box`, ни пространства
 хранения. Функция `start_join()` имеет простое устройство:
 
-Инстанс-клиент отправляет запрос `raft_join` лидеру Raft-группы (он
-известен после discovery). После достижения консенсуса в Raft-группе
-лидер присылает в ответе необходимую информацию:
-- Идентификатор `raft_id` и данные таблицы `raft_group` — для
-  инициализации Raft-узла;
-- Идентификаторы  `instance_uuid`, `replicaset_uuid` и параметры
-  `replication`, `read_only` — для первичного вызова `box.cfg()`.
+Инстанс отправляет запрос [`rpc::join`](#rpcjoin) лидеру Raft-группы (он
+известен после discovery), который магическим образом присылает в ответе
+всю необходимую для инициализаии информацию:
+
+Для инициализации Raft-узла:
+- идентификатор `raft_id`,
+- данные таблицы `_picodata_peer_address`.
+
+Для первичного вызова `box.cfg()`:
+- идентификаторы  `instance_uuid`, `replicaset_uuid`,
+- `box.cfg.replication` — список урлов для репликации.
 
 Получив все настройки, инстанс использует их в `box.cfg()` (см.
 [`init_common()`](#fn-init_common)), и затем создает в БД группу
-`raft_group` с актуальными адресами других инстансов. Без этого инстанс
-не сможет отвечать на  сообщения от других членов Raft-группы.
+`_picodata_peer_address` с актуальными адресами других инстансов. Без
+этого инстанс не сможет отвечать на  сообщения от других членов
+Raft-группы.
 
 По завершении этих манипуляций инстанс также переходит к этапу
 `postjoin()`.
@@ -185,11 +190,12 @@ governor](#Topology-governor), также называемый `governor_loop`.
 
 ## Обработка запросов
 
-### \#\[proc\] fn raft_join()
+### rpc::join
+
+Значительная часть всей логики по управлению топологией берет свое
+начало в хендлере запроса `rpc::join`. Его делает инстанс
 
-Значительная часть всей логики по управлению топологией находится в
-хранимой процедуре `raft_join`. Аргументом для нее является следующая
-структура:
+Аргументом для нее является следующая структура:
 
 ```rust
 struct join::Request {
-- 
GitLab