You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Создать новую основную таблицу со списком нод в локальной базе
Изменения в данных должны сохраняться в новую схему и зеркалировать в старую
На старте необходимо синхронизировать новую версию схемы, чтобы в ней содержались те же данные, что и в старой
Надо написать функциональный тест с кластером на разных версиях схемы
Примерная схема новой таблицы со списком нод:
NodeId: Uint64 - PK, идентификатор ноды
NodeInfo: protobuf - основное значение, здесь будет протобуф с описанием ноды, со всеми полями которые есть в текущей схеме.
State: enum - состояние ноды (типа Active, Expired, Removed)
UpdateEpochVersion: Uint64 - в какой версии произошло последнее изменение строки.
UpdateSchemaVersion: Uint64 - в какой версии схемы произошло последнее обновление, здесь будем всегда писать 1, но в будущем 2, 3 и т.д. Через это поле мы сможем отлавливать какие-то изменения, которые происходят в старой версии, без учёта каких-то новых полей, поведений и т.д. Будет помогать в миграции, чтобы правильно интерпретировать данные.
The text was updated successfully, but these errors were encountered:
Примерная схема новой таблицы со списком нод:
NodeId: Uint64
- PK, идентификатор нодыNodeInfo: protobuf
- основное значение, здесь будет протобуф с описанием ноды, со всеми полями которые есть в текущей схеме.State: enum
- состояние ноды (типаActive
,Expired
,Removed
)UpdateEpochVersion: Uint64
- в какой версии произошло последнее изменение строки.UpdateSchemaVersion: Uint64
- в какой версии схемы произошло последнее обновление, здесь будем всегда писать1
, но в будущем2
,3
и т.д. Через это поле мы сможем отлавливать какие-то изменения, которые происходят в старой версии, без учёта каких-то новых полей, поведений и т.д. Будет помогать в миграции, чтобы правильно интерпретировать данные.The text was updated successfully, but these errors were encountered: