4.2.1.2.1.1.6. Реестр блокировок удаления регионов данных
Папка rlock (removal lock) содержит записи о блокировках удаления регионов данных. Каждая такая блокировка содержит информацию о временном диапазоне, который должен быть защищён при выполнении удаления данных. Использование таких блокировок позволяет сократить общий объём потребляемого дискового пространства: защищённые от удаления регионы данных не будут удалены при выполнении очистки.
Каждая отдельная блокировка хранится в файле rlock-<YYYY>-<MM>-<DD>-<UUID>.json, где: - <YYYY> - год - <MM> - месяц - <DD> - день - <UUID> - уникальный идентификатор блокировки, выделенный при её порождении (на клиентской стороне)
Дата в имени файла - дата начала блокируемого интервала. Уникальный идентификатор позволяет различать блокировки, приходящиеся на одну начальную дату.
Файл имеет следующее содержимое (формат JSON):
{
// Уникальный идентификатор блокировки (такой же, как в имени файла)
"id": "UUID",
// Идентификатор транзакции сохранения записи о блокировке, 8-байтное беззнаковое целое
"tx": RLOCK_TX_ID,
// Метка времени добавления записи о блокировке (на стороне клиента)
"timestamp": "RLOCK_TIMESTAMP",
// Текстовое описание блокировки, строка
"description": "RLOCK_DESCRIPTION",
// Метка времени начала блокируемого временного интервала
"start": "RLOCK_INTERVAL_START",
// Метка времени конца блокируемого временного интервала
"end": "RLOCK_INTERVAL_END"
}
|
Формат меток времени в файле: YYYY-MOD-DD HH:MM:SS[.FFFFFF]
|
Записи о блокировках хранятся в открытом формате для возможности ручного просмотра и удаления (требуется перезапуск Сервера).
Обращение к файлам записей о блокировках выполняется только при чтении в процессе открытия и при порождении в процессе работы. База данных не блокирует доступ к ним, чтение/запись выполняется стандартными средствами ОС без использования кэша базы данных. В процессе работы база данных содержит информацию о всех блокировках в ОЗУ, в готовом для использования состоянии
