docs: приёмка этапа 2 и порог, который оказался гигиеной #67
@@ -30,8 +30,8 @@
|
||||
## Карта целей
|
||||
|
||||
Стенд нужен трём целям из семи. Цена — замер, см. «Что проверено»: `make test`,
|
||||
`make smoke` и `make check-clickhouse` перемерены 7 августа 2026 года, их #42
|
||||
менял; остальные три стоят с замера 6 августа.
|
||||
`make smoke`, `make check-clickhouse` и `make check-services` перемерены
|
||||
7 августа 2026 года на приёмке этапа 2; остальные три стоят с замера 6 августа.
|
||||
|
||||
| Цель | Что утверждает | Стенд | Цена |
|
||||
|---|---|---|---|
|
||||
@@ -41,7 +41,7 @@
|
||||
| `make config-test` | Compose разбирается, файлы DAG синтаксически целы, в diff нет пробельных ошибок. О работоспособности не говорит ничего | не нужен | 1 с |
|
||||
| `make smoke` | Стенд **собран**: службы живы, порты отвечают, подключения настроены друг на друга. Вширь и по касательной к каждой службе. Единственная цель, которая здесь правда смоук | нужен | 9 с |
|
||||
| `make check-clickhouse` | Всё, что спрашивают **у ClickHouse** и он отвечает сам: макросы, шарды, реплики, путь в keeper, ключ шардирования, очередь распределённых DDL, счёт событий стартового мира против описи | нужен | 8 с |
|
||||
| `make check-services` | **Службы работают**: DAG запускается и доходит, топик создаётся и удаляется, Superset логинится и ходит в базу | нужен | 44 с |
|
||||
| `make check-services` | **Службы работают**: DAG запускается и доходит, топик создаётся и удаляется, Superset логинится и ходит в базу | нужен | 59 с |
|
||||
|
||||
Цена самого `make up` — 2 м 50 с с нуля (`make clean` перед ним — ещё 23 с) и
|
||||
1 м 5 с на живом стенде. В цену целей она не входит, но записана здесь по той
|
||||
@@ -218,6 +218,15 @@ Kafka → STG → ODS, и живёт он в `make check-clickhouse`.
|
||||
смоук дал 8 секунд дважды (без проверки Kafka, до её появления, — 5 и 6),
|
||||
`check-services` — 43 и 44. В таблице стоит большее из замеренных.
|
||||
|
||||
Перемер 7 августа 2026 года — приёмка этапа 2 целиком: `make clean` и `make up`
|
||||
подряд заняли 2 м 58 с и залили стартовый мир, дальше по порядку все три цели
|
||||
на стенде и три без него. Смоук дал 9 секунд, `check-clickhouse` — 8,
|
||||
`make test` — 71. `check-services` — 59 и 48; в таблицу по прежнему правилу
|
||||
пошло большее. Против 44 секунд накануне цель подорожала, и причину назвать
|
||||
нечем: между замерами и стартовый мир в хранилище, и холодный подъём перед
|
||||
первым прогоном. Число здесь — замер с датой, а не бюджет, и повод разбираться
|
||||
появится, когда за него кто-нибудь начнёт держаться.
|
||||
|
||||
До деления `scripts/stand-smoke.sh` шёл 48 секунд на 25 проверок, из них
|
||||
42 секунды съедали шесть: Kafka с машины, два запуска пробников Airflow и три
|
||||
проверки Superset. После деления те же 25 проверок разошлись по двум целям:
|
||||
@@ -229,7 +238,7 @@ Superset, Prometheus и Grafana смоук стучится с машины в
|
||||
про Kafka после переезда знал только «контейнер здоров» — а это вердикт
|
||||
проверки состояния из `compose.yaml`, и та спрашивает брокер изнутри по
|
||||
внутреннему слушателю. Внешняя дверь оставалась непроверенной до
|
||||
`check-services` с его 44 секундами, хотя генератор пишет в Kafka именно с
|
||||
`check-services` с его минутой, хотя генератор пишет в Kafka именно с
|
||||
машины. Стоит проверка 2,6 секунды, и почти всё это — старт JVM в разовом
|
||||
контейнере; ожидание ответа ограничено пятнадцатью секундами, впятеро больше
|
||||
замеренного.
|
||||
|
||||
@@ -590,12 +590,16 @@ v2 стартует пустым, поэтому объём ниже — это
|
||||
хранилища](../architecture/storage.md), раздел «Что проверено»; запасной
|
||||
именованный кортеж — там же в [ADR 0005](../adr/0005-event-ingestion.md).
|
||||
|
||||
Kafka Engine на двух нодах снят с этого списка при приёмке этапа 2 (7 августа
|
||||
2026 года) — проверенным наполовину и осознанно. Что обе ноды читают топик и
|
||||
обе партиции доезжают, показал #37. Дубли и раскладку партиций между прогонами
|
||||
решено не проверять: дубль здесь возможен по устройству движка, окно названо и
|
||||
разобрано в [доке хранилища](../architecture/storage.md), а в ODS его схлопывает
|
||||
`ReplacingMergeTree`. Проверять то, что заведомо случается и заведомо
|
||||
обезврежено, — работа без ответа на конце.
|
||||
|
||||
- Поведение соединения двух Distributed-таблиц и `distributed_product_mode` —
|
||||
эмпирически на стенде (хвост #14).
|
||||
- Kafka Engine на двух нодах в одной consumer group: ребаланс партиций между
|
||||
прогонами, отсутствие дублей при штатной работе. Закрыто пока наполовину: что
|
||||
обе ноды читают топик и обе партиции доезжают, показал #37; что дублей нет и
|
||||
как раскладка меняется между прогонами — нет.
|
||||
- Размер артефакта эталонного мира после пересборки.
|
||||
- Спорные API (Airflow Datasets/сенсоры, ClickHouse DDL) — перед кодом
|
||||
сверять через MCP Context7 (правило AGENTS.md).
|
||||
|
||||
Reference in New Issue
Block a user