style(stand): комментарии ужаты до того, чего нет в коде
Зачем Комментарии к правке были размером с объяснение, хотя объяснение уже лежит в ADR 0004. В compose.yaml четыре строки на одну настройку; в stand-smoke.sh одиннадцать новых строк там, где на весь файл до этого было две — шебанг и одна строка про разбор подстановок. Заодно в комментариях остались метафоры («бронь», «предохранители»), вычищенные из ADR прошлым коммитом. Что - compose.yaml: одна строка вместо четырёх — почему не гигабайт и куда идти за подробностями. - stand-smoke.sh: две строки вместо шести — зачем проверка вообще нужна. Комментарий про разбор `--format` убран целиком: он оправдывался перед читателем, а не помогал ему. - Комментарий про OOMKilled оставлен, но в одну строку: без него сообщение «убило процесс, а не контейнер» выглядит опиской. Проверка make config-test — зелено. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+1
-4
@@ -15,10 +15,7 @@ x-clickhouse-common: &clickhouse-common
|
|||||||
clickhouse-keeper:
|
clickhouse-keeper:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
ulimits: *clickhouse-nofile
|
ulimits: *clickhouse-nofile
|
||||||
# Не гигабайт: около 550 МиБ от RSS праздной ноды — страницы её собственного
|
# Гигабайта не хватало: половину съедали страницы самого бинарника (ADR 0004).
|
||||||
# бинарника, и рабочего места почти не оставалось. Лимит не бронь: в покое
|
|
||||||
# нода занимает столько же, а коробка задаёт, где сервер включает
|
|
||||||
# предохранители — свои кэши и сброс на диск (ADR 0004).
|
|
||||||
mem_limit: 4g
|
mem_limit: 4g
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "clickhouse-client --host 127.0.0.1 --query 'SELECT 1' >/dev/null 2>&1"]
|
test: ["CMD-SHELL", "clickhouse-client --host 127.0.0.1 --query 'SELECT 1' >/dev/null 2>&1"]
|
||||||
|
|||||||
+3
-11
@@ -590,15 +590,8 @@ check_superset() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Контейнер, убитый ядром за нехватку памяти, Docker поднимает сам, и через
|
# Убитый за память контейнер Docker поднимает сам, и проверка здоровья об этом
|
||||||
# полминуты его проверка состояния снова зелёная: о смерти она не расскажет.
|
# промолчит. Порога здесь нет: это «да или нет», а не бюджет памяти (ADR 0004).
|
||||||
# Поэтому спрашиваем у Docker два факта — убивало ли ядро что-нибудь в контейнере
|
|
||||||
# за память и включалась ли политика перезапуска. Ручной `docker compose restart`
|
|
||||||
# счётчик не трогает, так что документированный перезапуск нод проверку не
|
|
||||||
# роняет. Порога здесь нет: это «да или нет», а не бюджет памяти (ADR 0004).
|
|
||||||
#
|
|
||||||
# Два факта берутся одним `--format` и разбираются образцом — тем же приёмом,
|
|
||||||
# что и состояние с проверкой здоровья выше.
|
|
||||||
check_containers_survived() {
|
check_containers_survived() {
|
||||||
local container_id
|
local container_id
|
||||||
local service
|
local service
|
||||||
@@ -614,8 +607,7 @@ check_containers_survived() {
|
|||||||
state="$(docker inspect --format '{{.State.OOMKilled}}/{{.RestartCount}}' "$container_id" 2>/dev/null || true)"
|
state="$(docker inspect --format '{{.State.OOMKilled}}/{{.RestartCount}}' "$container_id" 2>/dev/null || true)"
|
||||||
case "$state" in
|
case "$state" in
|
||||||
false/0) ;;
|
false/0) ;;
|
||||||
# OOMKilled поднимается и когда ядро убило процесс внутри живого
|
# OOMKilled встаёт и когда убит процесс внутри живого контейнера.
|
||||||
# контейнера, поэтому говорим про процесс, а не про контейнер.
|
|
||||||
true/*)
|
true/*)
|
||||||
fail "в контейнере ${service} ядро убило процесс из-за нехватки памяти"
|
fail "в контейнере ${service} ядро убило процесс из-за нехватки памяти"
|
||||||
problems=$((problems + 1))
|
problems=$((problems + 1))
|
||||||
|
|||||||
Reference in New Issue
Block a user