Skip to content

Reconfig StateStorage without nodes intersection #16980

@Evgenik2

Description

@Evgenik2

Переконфигурирование StateStorage:

Текущая задача: Сделать API в distconf для перехода к новому конфигу StateStorage. Ноды в конфигах не должны пересекаться.

  1. Запрос в distconf на изменение конфига. Ноды должны быть не задействованые в уже развернутом текущем StateStorage

{"ReconfigStateStorage":{"NewStateStorageConfig": {"Ring": {"Ring":{"Node":[1,2,3,4]}, "NToSelect": "3"}}}}

  1. Валидация конфига на то что он может быть применен
  2. Развертывание нового StateStorage - работает на запись и удаление таблеток синхронно со старым StateStorage. Запросы чтения направляются в старый StateStorage
  3. Ожидание пока новый StateStorage будет полностью синхронизирован
  4. Запрос на переключение на новый конфиг

{"ReconfigStateStorage":{"SwitchToTheNewConfig":true}}

Рассылается по нодам новый конфиг как единственный. Операции чтения также идут на новые ноды. Старый StateStorage удаляется.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions