Troubleshooting Guide
Этот документ переносит в AngaraBook ключевой операторский fast-path из legacy troubleshooting runbook.
Scope
Покрываются типовые эксплуатационные инциденты AngaraBase и быстрые действия для диагностики/ремедиации.
Связанные документы:
Incident: False Positive Commit Conflicts (40001)
Symptoms
- Клиенты получают
SQLSTATE 40001на каждой попыткеCOMMIT. - В логах старта возможны warning из recovery.
Typical causes
- Версия ниже фикс-релиза для VLF recovery path.
- Перепутаны
data_directoryиtransaction_log_directory.
Actions
- Обновить версию до фиксированной.
- Разделить
storage.data_directoryиstorage.transaction_log_directory.
Incident: Backpressure active (no-steal)
Symptoms
buffer_pool_backpressure_active == 1- Растут
buffer_pool_uncommitted_dirty_ratioиtxn_write_set_limit_exceeded_total
Actions
- Уменьшить batch size write-транзакций.
- При необходимости включить
buffer_pool.backpressure.mode = fail_fast. - Снизить
txn.max_write_set_pagesи/или увеличитьbuffer_pool.size_bytes.
Incident: p99 spikes during checkpoint
Symptoms
- Рост
checkpoint_duration_secondsи latency spikes.
Actions
- Увеличить
checkpoint.target_ms. - Ограничить
writeback.max_bytes_per_sec. - Подкрутить
checkpoint.dirty_ratio_hardдля более раннего фонового writeback.
Incident: commit fsync tails / durable_lsn lag grows
Symptoms
- Рост
commit_ack_latency_secondsиdurable_lsn_lag_bytes.
Actions
- По возможности вынести WAL/TL на отдельный volume.
- Настроить
group_commit.max_wait_us. - Снизить writeback interference.
Start / stop (operator baseline)
angarabase-server --config /etc/angarabase/angarabase.conf
Минимальные проверки перед запуском:
- валидный конфиг;
- корректные каталоги data/txn log;
- достаточные лимиты диска и fsync latency budget.
Incident: CRC mismatch in Delete Vector blob
Symptoms
- Query fails with error:
CRC mismatch for DV blob <path> (segment <id>): expected <exp>, got <got> - Возможно при compaction или при применении columnar DELETE.
Что означает
Файл .bdel (Delete Vector blob) повреждён. Поле blob_uri указывает точный путь к файлу, segment_id — идентификатор сегмента внутри blob-а. Ошибка fail-closed: чтение прекращается, данные не изменяются.
Actions
- Найти повреждённый файл по
blob_uriиз сообщения об ошибке. - Проверить целостность storage volume (IO errors в
dmesg, S.M.A.R.T.). - Если файл повреждён безвозвратно — выполнить restore из backup (
disaster-recovery.md). - При повторяющихся CRC ошибках — включить мониторинг
angarabase_columnar_pending_deleted_rowsдля отслеживания DV fragmentation pressure.
Triage fast-path
- Проверить версию бинарника и активный конфиг.
- Снять базовые метрики (
commit_ack_latency, checkpoint, backpressure). - Проверить состояние recovery/txn log.
- Применить remediation по соответствующему инциденту.
Расширенные связанные материалы:
Дальше
- Diagnostics bundle runbook — что приложить к тикету, если симптом не сводится к runbook.
- Disaster recovery playbook — для случаев потери lease или corrupted datadir.
- Performance tuning guide — если симптом — деградация, а не отказ.
- Operations overview — навигация по остальным operator-материалам.