fix(superset): стабилизирована проверка рабочего контура
- Зачем: - холодный запуск второго приложения Superset давал ложный красный результат исправного стенда. - Что: - тяжёлые `create_app()` и `superset test-db` заменены проверкой сохранённого подключения через REST API. - добавлены проверка схемы `dm`, безопасная диагностика и краткая запись приёмки с замерами. - Проверка: - `make config-test`. - `make smoke`: 21/21 за 25 секунд. - три `make check-services` после перезапуска Superset: 7/7 за 71, 67 и 70 секунд; финальный прогон — 7/7 за 70 секунд. - контрольный неверный UUID: 5/1, красной стала проверка метаданных.
This commit is contained in:
1 parent
1fae4e589f
commit
cc836fc3c5
2 files changed
+78
-28
No files matched your search
@@ -34,17 +34,18 @@
|
||||
спрашивают его отдельно.
|
||||
|
||||
Стенд нужен трём целям из восьми. Цена — замер, см. «Что проверено».
|
||||
`make config-test`, `make smoke` и `make check-services` перемерены 21 августа
|
||||
2026 года, `make check-clickhouse` — 19 августа, корневой `make lint` —
|
||||
9 августа, `make test` — 7 августа; остальные стоят с замера 6 августа.
|
||||
`make smoke` и `make check-services` перемерены 28 августа 2026 года,
|
||||
`make config-test` — 21 августа, `make check-clickhouse` — 19 августа,
|
||||
корневой `make lint` — 9 августа, `make test` — 7 августа; остальные стоят с
|
||||
замера 6 августа.
|
||||
|
||||
| Цель | Откуда | Что утверждает | Стенд | Цена |
|
||||
|---|---|---|---|---|
|
||||
| `make config-test` | корень | Compose разбирается, файлы DAG и дашборды Grafana синтаксически целы, в diff нет пробельных ошибок. О работоспособности не говорит ничего | не нужен | 1 с |
|
||||
| `make lint` | корень | Код стенда — `dags/` и `infra/superset/` — отформатирован и проходит ruff | не нужен | 0,4 с |
|
||||
| `make smoke` | корень | Стенд **собран**: службы живы, порты отвечают, подключения настроены друг на друга. Вширь и по касательной к каждой службе. Единственная цель, которая здесь правда смоук | нужен | 17 с |
|
||||
| `make smoke` | корень | Стенд **собран**: службы живы, порты отвечают, подключения настроены друг на друга. Вширь и по касательной к каждой службе. Единственная цель, которая здесь правда смоук | нужен | 25 с |
|
||||
| `make check-clickhouse` | корень | Всё, что спрашивают **у ClickHouse** и он отвечает сам: макросы, шарды, реплики, путь в keeper, ключ шардирования, очередь распределённых DDL, ответ словаря товаров, счёт событий стартового мира против описи | нужен | 24 с |
|
||||
| `make check-services` | корень | **Службы работают**: DAG запускается и доходит, топик создаётся и удаляется, Superset логинится и ходит в базу | нужен | 93 с |
|
||||
| `make check-services` | корень | **Службы работают**: DAG запускается и доходит, топик создаётся и удаляется, Superset логинится и ходит в базу | нужен | 71 с |
|
||||
| `make lint` | `generator/` | Код генератора отформатирован и проходит ruff | не нужен | 0,4 с |
|
||||
| `make typecheck` | `generator/` | Типы генератора сходятся (ty) | не нужен | 0,5 с |
|
||||
| `make test` | `generator/` | Генератор делает то, что обещает; схема события остаётся объявленным контрактом, а собранные из кода [описание выгрузки](../formats/clickstream-event.md) и [опись мира](../../data/world-inventory.json) — свежими | не нужен | 71 с |
|
||||
@@ -237,6 +238,27 @@ Kafka → STG → ODS, и живёт он в `make check-clickhouse`.
|
||||
|
||||
## Что проверено
|
||||
|
||||
**Приемка #172 28 августа 2026 года.** Холодный `create_app()` занимал
|
||||
28,3-28,4 секунды, а чтение подключения после запуска - 0,07 секунды. Предел
|
||||
30 секунд почти целиком уходил на запуск второго приложения. Увеличивать его
|
||||
не стали: Superset не обещает постоянного времени `create_app()`.
|
||||
|
||||
После входа проверка делает три GET-запроса к уже работающему Superset: находит
|
||||
`ClickHouse`, сверяет UUID и безопасный URI, затем требует схему `dm`. Так без
|
||||
второго запуска проверяются сохраненное подключение и хранилище пароля. Форму
|
||||
API сверили через Context7 и с исходным кодом Superset 6.1.0. `superset test-db`
|
||||
отклонен, потому что тоже запускает приложение; прямой SQL к `dbs` не проверяет
|
||||
соединение.
|
||||
|
||||
Проверка больше не подтверждает, что сам Superset использует Postgres для
|
||||
метаданных. Короткий запрос к Postgres показывает лишь готовность базы, а REST
|
||||
API - подключение к ClickHouse. Для `check-services` этого достаточно.
|
||||
|
||||
После перезапуска Superset три прогона прошли 7/7 за 71, 67 и 70 секунд.
|
||||
`make config-test` прошел. `make smoke` дал 21/21 за 25 секунд; его код не
|
||||
менялся, прежний замер был 17 секунд. Неверный UUID дал 5/1: красной стала
|
||||
только проверка метаданных, пароль в вывод не попал.
|
||||
|
||||
**Приемка #156 27 августа 2026 года.** `make rebuild-storage` занял 7 минут.
|
||||
На чистом прикладном мире `world_initialize` сам довел позицию до `8`, дождался
|
||||
`etl_pipeline` и оставил заполненными DDS и обе витрины. После пересборки прошли
|
||||
|
||||
Reference in new issue
Block a user