SET_MODE_READONLY
Содержание раздела
Поддерживается в версиях: 7.5.
Запрос включает или выключает (в зависимости от параметров) режим «Только для чтения» во всех логических БД окружения на всех нодах кластера.
Подробнее о режиме и блокируемых операциях см. в разделе Режим «Только для чтения».
Синтаксис
SET_MODE_READONLY(enable_mode[, erase_running_write_ops])
Параметры:
enable_mode-
Флаг, включающий и выключающий режим «Только для чтения». Возможные значения:
true— включить режим «Только для чтения»;false— выключить режим «Только для чтения», вернув кластер в штатный режим работы.
erase_running_write_ops-
Флаг, управляющий отменой начатых операций записи (в статусе 0) при включении режима «Только для чтения». Возможные значения:
false(по умолчанию) — дождаться завершения операций, не отменяя их;true— отменить операции.
Варианты ответа
В ответе возвращается:
- пустой объект ResultSet при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Результат выполнения
Включение режима
При успешном включении режима «Только для чтения» команда:
- Устанавливает запрет на новые DDL-операции (кроме DDL для внешних таблиц, временных прокси-таблиц и standalone-таблиц) и операции записи.
- Если запущена с флагом отмены начатых операций записи:
- Запускает отмену операций записи и дожидается завершения процесса в течение
DELTA_ROLLBACK_OPERATIONS_TIMEOUT_MS. - Если в процессе сменился лидер кластера, новый лидер автоматически завершает включение режима и отмену операций.
- Если операции не успели отмениться за
DELTA_ROLLBACK_OPERATIONS_TIMEOUT_MS, исполнение завершается с ошибкой.
- Запускает отмену операций записи и дожидается завершения процесса в течение
- Если запущена без флага отмены начатых операций записи, дожидается их завершения.
- Возвращает ответ.
Выключение режима
При успешном выключении режима «Только для чтения» команда:
- Снимает запрет на новые DDL-операции и операции записи.
- Возвращает ответ.
Ограничения
- Выключение режима недоступно, пока предыдущая команда включает его с отменой операции записи.
- Команда с флагом отмены операций, равным
true:- не гарантирует консистентность данных при отмене операций загрузки данных из Kafka в ADB;
- завершается неуспешно, если операции записи не удалось отменить в течение
DELTA_ROLLBACK_OPERATIONS_TIMEOUT_MS. В этом случае следует дождаться завершения отмены операций и повторить команду.
Примеры
Включение режима «Только для чтения»
Включение режима «Только для чтения» для кластера без отмены начатых операций записи:
SET_MODE_READONLY(true);
-- равносилен запросу
SET_MODE_READONLY(true, false);
Включение режима «Только для чтения» для кластера с отменой начатых операций записи:
SET_MODE_READONLY(true, true)
Выключение режима «Только для чтения»
SET_MODE_READONLY(false)