Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NBS] Разработать ручку для очистки истории таблетки в HIVE #1948

Open
EvgeniyKozev opened this issue Sep 4, 2024 · 1 comment
Assignees

Comments

@EvgeniyKozev
Copy link
Collaborator

В ситуация, когда hive начинает бесконтрольно перевозить группы по каналам (например когда группы "пожелтели"), у таблетки скапливается большая история в hive.
Есть подозрения, что эта история сильно влияет на время поднятия таблетки.
Необходимо:

  • Построить зависимость скорости поднятия таблетки от ее истории
  • Разработать ручку приватного API, которая может удалять историю из hive, без переноса самих данных
  • Разработать систему disaster recovery в случае, если после удаления истории, данные считываемые с диска, оказались "битыми"
@drbasic
Copy link
Collaborator

drbasic commented Sep 5, 2024

Договорились до такого алгоритма:

1 находим что почистить из истории
2 просим хайв поставить флаг на удаление для этой части истории с флагом что окончательное удаление будет сделано вручную
3 пишем в локальную базу флажок или список чего просили удалить
4 рестартуем таблетку
5 если хайв не смог поднять таблетку, он откатит удаление. Если мы поднимаем таблетку сами и не смогли, это сделать, то просим хайв откатить изменения
6 после рестарта таблетки проверяем что в истории нет того что мы просили удалить (а значит не было отката удаления)
7 если откат удаления был, то все плохо, зажигаем критэвенты, выключаем фичу и идем чинить код
8 если отката не было, таблетка стартанула, то сканируем диск поверхность диска, периодически сохраняя прогресс сканирования
9 по окончании сканирования, если с диском все ок - просим хайв удалить помеченное окончательно
10 если диск не ок - просим хайв откатить удаление, зажигаем критэвенты, выключаем фичу и идем чинить код

Ручка со стороны хайва ydb-platform/ydb#8824

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants