1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vipshop-vdl

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
delete_segment.md 3.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 08:47 1556aaf

Инструкция по удалению сегмента VDL

В VDL уплотнение журналов (log compaction) осуществляется через команды удаления сегмента и соответствующего индексного файла. Операция удаления включает в себя три команды:

  1. Установка разрешения на удаление. С помощью этой команды можно временно отключить или включить разрешение на удаление для определённой группы raft. Если удаление отключено, попытка удалить сегмент в VDL приведёт к ошибке. Разрешение на удаление должно быть включено, чтобы разрешить удаление сегмента. По умолчанию разрешение на удаление включено.

1. Проверка разрешения на удаление

Формат команды для проверки разрешения на удаление:

./vdlctl logstream get_delete_perm <имя потока журнала> --endpoints <конечная точка>
Например:
[apps@localhost bin]$ ./vdlctl logstream get_delete_perm fiutopic --endpoints http://127.0.0.1:8500
allow to delete segment in this raft group

2. Установка разрешения на удаление

Команда для отключения разрешения на удаление:

# Отключить разрешение на удаление
./vdlctl logstream set_delete_perm forbid <имя потока журнала> --endpoints <конечная точка>
Пример:
./vdlctl logstream set_delete_perm forbid fiutopic --endpoints http://192.168.0.1:8500

Команда для включения разрешения на удаление:

./vdlctl logstream set_delete_perm allow <имя потока журнала> --endpoints <конечная точка>
Пример:
./vdlctl logstream set_delete_perm allow fiutopic --endpoints http://192.168.0.1:8500

3. Удаление файла сегмента

Формат команды для удаления сегмента:

./vdlctl logstream delete <имя потока журнала> <имя сегмента> --endpoints <конечная точка>

Если разрешение на удаление отключено, появится следующая ошибка:

./vdlctl logstream delete fiutopic 0000000000000000.log --endpoints http://192.168.0.1:8500
Error:  rpc error: code = PermissionDenied desc = VDL: segment files not all allow to delete

Чтобы удалить сегмент при отключённом разрешении на удаление, необходимо сначала включить его, а затем выполнить операцию удаления:

./vdlctl logstream set_delete_perm allow fiutopic --endpoints http://192.168.0.1:8500
./vdlctl logstream delete fiutopic 0000000000000000.log --endpoints http://192.168.0.1:8500

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/vipshop-vdl.git
git@api.gitlife.ru:oschina-mirror/vipshop-vdl.git
oschina-mirror
vipshop-vdl
vipshop-vdl
master