Size: a a a

2020 December 24

KN

Konstantin Nazarov in Tarantool
Илья Лебедев
ну в принципе ожидаемо) т.к. ничего умнее двухфазного коммита в голову не идет
calvin
источник

KN

Konstantin Nazarov in Tarantool
но вам сложность его не понравится
источник

KN

Konstantin Nazarov in Tarantool
источник
2020 December 25

MU

Maksim Uimin in Tarantool
Привет! Подскажите, пожалуйста, а есть какой-нибудь способ посчитать, сколько bloom-фильтры будут занимать при заданной конфигурации винила?
источник

AK

Alexey Kuzin in Tarantool
Простейший способ — это забить тестовые данные в спейс предполагаемой конфигурации, оценить объем по box.info.vinyl() и экстраполировать по количеству записей
источник

R

R-omk in Tarantool
... предварительно определив  функцию скорости роста
источник

AK

Alexey Kuzin in Tarantool
Можно оценить максимальный "объём записей в день" х "срок хранения"
источник

VS

Vladyslav Sakun in Tarantool
Добрый день!
Коллеги, если кто-то разворачивал Tarantool 2.* версии с помощью оператора, поделитесь пожалуйста примерами.
Буду безмерно благодарен!
источник

DS

Dmitry Sharonov in Tarantool
а статья вон в закрепе
источник

AL

Aleksandr Lyapunov in Tarantool
Maksim Uimin
Привет! Подскажите, пожалуйста, а есть какой-нибудь способ посчитать, сколько bloom-фильтры будут занимать при заданной конфигурации винила?
там почти классичечкий блум, все формулы https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%91%D0%BB%D1%83%D0%BC%D0%B0
источник

R

R-omk in Tarantool
Мы тут с @y_dynnikov  периодически обсуждали  назначение нового мастера  в картридже  при потере старого...

изначально  фигурировали такие понятия  eventual failover,    stateful  failover  ,   force promote ...   и прочее


в какой то момент  появилась терминология "fencing"    которая по факту была воспринята  неверно  , ниже изложил   как я вижу общую картину того что должно происходить в картридже на самом деле.


про понятие fencing

wiki:
> Fencing is the process of isolating a node of a computer cluster or protecting shared resources when a node appears to be malfunctioning.



ключевой момент  -  изолировать вычислительный узел  для того чтобы он не разломал shared ресурсы ... в терминах тарантула - это отключение от репликации через FENCING_TIMEOUT  секунд   ... это "грязное выключение" (описал ниже терминологию)


введем понятия:
"чистое выключение "    -  мастер при выключении совершенно точно отдал последние записи  репликам  и vclock keeper  запомнил те реплики которые  могут быть назначены мастерами ...  после такого "выключения"   узел  без проблем может входить в кластер без rejoin  (да,  это часть процесса graceful shutdown)



"грязное выключение"   варианты:
-  мастер просто погас в какойто момет и все....(kill -9,  выключение света)
-  мастер   потерял сеть  и дождался FENCING_TIMEOUT    - после чего перешел в RO  отключил репликацию




после "грязного выключения" за последующее включение репликации  отвечает  чтото в картридже ,  координатор или чтото еще  что знает позиции vclock  и насколько "gracfully"  узел покинул кластер...    после сработки  fencing и прехода в  состояние "грязного выключения" может быть две  ситуации  :

1.  последние записи мастера  НЕ уехали в кластер до того как сеть развалилась  , действия
- бэкапим или дропаем базу
- делаем rejoin
2.  последние записи мастера уехали в кластер до того как сеть развалилась , действия
-  координатор разрешает включение репликации в штатном режиме  (он сравнивает vclock узла и видит что последняя позиция этого тарантула доехала в кластер)




---

Таким образом каждый раз при включении тарантула  и/или включении репликации нужно проверять статус "чистоты"   последнего выхода из кластера в следствие нештатного отключения (сбой питания или внешинй fencing кильнул или просто ктото кильнул)  или  сработки "сомовыпиливания"  из кластера через FENCING_TIMEOUT

----

fencing != force promote

----

force promote -   это  значит  мы игнорируем  FENCING_TIMEOUT (разумеется мастер сейчас недоступен)  , что может  привести  к теоретической  поломке репликации в случае если восстановилась сеть  после  "разделение"  сети  ( мастер какое то время жил в режиме RW в "изоляции"  от vclock keeper  и координатор  )    


----
источник

MU

Maksim Uimin in Tarantool
Спасибо
источник

AK

Alexey Kuzin in Tarantool
R-omk
Мы тут с @y_dynnikov  периодически обсуждали  назначение нового мастера  в картридже  при потере старого...

изначально  фигурировали такие понятия  eventual failover,    stateful  failover  ,   force promote ...   и прочее


в какой то момент  появилась терминология "fencing"    которая по факту была воспринята  неверно  , ниже изложил   как я вижу общую картину того что должно происходить в картридже на самом деле.


про понятие fencing

wiki:
> Fencing is the process of isolating a node of a computer cluster or protecting shared resources when a node appears to be malfunctioning.



ключевой момент  -  изолировать вычислительный узел  для того чтобы он не разломал shared ресурсы ... в терминах тарантула - это отключение от репликации через FENCING_TIMEOUT  секунд   ... это "грязное выключение" (описал ниже терминологию)


введем понятия:
"чистое выключение "    -  мастер при выключении совершенно точно отдал последние записи  репликам  и vclock keeper  запомнил те реплики которые  могут быть назначены мастерами ...  после такого "выключения"   узел  без проблем может входить в кластер без rejoin  (да,  это часть процесса graceful shutdown)



"грязное выключение"   варианты:
-  мастер просто погас в какойто момет и все....(kill -9,  выключение света)
-  мастер   потерял сеть  и дождался FENCING_TIMEOUT    - после чего перешел в RO  отключил репликацию




после "грязного выключения" за последующее включение репликации  отвечает  чтото в картридже ,  координатор или чтото еще  что знает позиции vclock  и насколько "gracfully"  узел покинул кластер...    после сработки  fencing и прехода в  состояние "грязного выключения" может быть две  ситуации  :

1.  последние записи мастера  НЕ уехали в кластер до того как сеть развалилась  , действия
- бэкапим или дропаем базу
- делаем rejoin
2.  последние записи мастера уехали в кластер до того как сеть развалилась , действия
-  координатор разрешает включение репликации в штатном режиме  (он сравнивает vclock узла и видит что последняя позиция этого тарантула доехала в кластер)




---

Таким образом каждый раз при включении тарантула  и/или включении репликации нужно проверять статус "чистоты"   последнего выхода из кластера в следствие нештатного отключения (сбой питания или внешинй fencing кильнул или просто ктото кильнул)  или  сработки "сомовыпиливания"  из кластера через FENCING_TIMEOUT

----

fencing != force promote

----

force promote -   это  значит  мы игнорируем  FENCING_TIMEOUT (разумеется мастер сейчас недоступен)  , что может  привести  к теоретической  поломке репликации в случае если восстановилась сеть  после  "разделение"  сети  ( мастер какое то время жил в режиме RW в "изоляции"  от vclock keeper  и координатор  )    


----
Проверка состояния вклока при форс промоуте решит проблему?
источник

AK

Alexey Kuzin in Tarantool
Если бывший мастер не успел закоммитить свой вклок в координатора, мы так и не узнаем, есть ли на нём неотреплицированные записи
источник

AK

Alexey Kuzin in Tarantool
Так что видимо надо сохранять "стартовый" вклок при форс промоуте и чекать вклок сервера при реджоине
источник

R

R-omk in Tarantool
Alexey Kuzin
Проверка состояния вклока при форс промоуте решит проблему?
если мастер доступен то термина "force" быть не  может ...  это штатаное  выключение
источник

AK

Alexey Kuzin in Tarantool
Форс промоут же подразумевает что мастер недоступен?
источник

R

R-omk in Tarantool
Alexey Kuzin
Если бывший мастер не успел закоммитить свой вклок в координатора, мы так и не узнаем, есть ли на нём неотреплицированные записи
fеncing для того и нужен  чтобы  если мы не знает состояние мастера     он к нам не вернулся случайно сам
источник

R

R-omk in Tarantool
Alexey Kuzin
Форс промоут же подразумевает что мастер недоступен?
видимо да,  я вконце изложил что такое для меня форс промоут
источник

R

R-omk in Tarantool
R-omk
видимо да,  я вконце изложил что такое для меня форс промоут
после того как истек "FENCING_TIMEOUT"        force promote  автоматически   перестает быть "force"    поскольку   к этому моменту мы точно уверены что старый мастер не вернется в кластер "без спросу"  ...   ну это как я вижу эту терминологию
источник