fix(traffic): прекращать опрос изменённого источника

This commit is contained in:
Denozordec committed 2026-10-13 02:08:26 +07:00
1 parent 5d19b6a258
commit 504f62fc0b
15 files changed
+1296 -14

No files matched your search

+18 -3
View File
@@ -1,6 +1,6 @@
# Тестовый сервер UX/UI — 2026-10-10
Актуальное продолжение 2026-10-13: завершён12.5.188 — per-wave declared membership после rename/delete/add, active interfaces latest wave, no false0 для нового baseline; malformed declared identityNULL→unknown. OwnSQL65/38880ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-membership188 healthy/frontend ux-warning183; ownDB/role/container удалены. Следующий189 — background traffic source guard между native commands и записью;12.5 открыта.
Актуальное продолжение 2026-10-13: завершён12.5.189 — background traffic проверяет enabled/config перед native requests, cache/insert/success; disabled/config change mid-interface response→no peer call/no samples/no false success. OwnSQL67/39536ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-sourceguard189 healthy/frontend ux-warning183; ownDB/role/container удалены. Следующий190 — confirmed peak против partial counter waves;12.5 открыта.
| Параметр | Проверенное состояние |
| --- | --- |
@@ -14,7 +14,7 @@
| PostgreSQL | postgres:18-alpine,18.6;mmapp-test-postgres healthy;SELECT version() passed |
| Данные | Отдельный Compose project mmapp-test,том mmapp-test_mmapp-pgdata и каталог ./data |
| Доступ | PostgreSQL не публикуется;frontend3000/backend8000 привязаны к127.0.0.1 после запуска |
| Образы приложения | mmapp-test/backend:ux-membership188 и mmapp-test/frontend:ux-warning183; запущены |
| Образы приложения | mmapp-test/backend:ux-sourceguard189 и mmapp-test/frontend:ux-warning183; запущены |
Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example).
@@ -708,7 +708,7 @@ flowchart LR
## 12.5.77 — основной блок IPsec (2026-10-09)
Актуальное продолжение 2026-10-13: завершён12.5.188 — per-wave declared membership после rename/delete/add, active interfaces latest wave, no false0 для нового baseline; malformed declared identityNULL→unknown. OwnSQL65/38880ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-membership188 healthy/frontend ux-warning183; ownDB/role/container удалены. Следующий189 — background traffic source guard между native commands и записью;12.5 открыта.
Актуальное продолжение 2026-10-13: завершён12.5.189 — background traffic проверяет enabled/config перед native requests, cache/insert/success; disabled/config change mid-interface response→no peer call/no samples/no false success. OwnSQL67/39536ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-sourceguard189 healthy/frontend ux-warning183; ownDB/role/container удалены. Следующий190 — confirmed peak против partial counter waves;12.5 открыта.
Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md).
@@ -1988,3 +1988,18 @@ Unit membership deletion/addition/baseline/zero/history и backend build passed.
[Source460/524](ux-ui/acceptance/traffic-wave-source-2026-10-13.json)/[compiled1040](ux-ui/acceptance/traffic-wave-compiled-2026-10-13.json) SHA256 parity; [backend ux-membership188](ux-ui/acceptance/traffic-wave-runtime-2026-10-13.json) healthy/imageIds, frontend ux-warning183 unchanged/no rebuild. Only backend.env tag, rollback ux-identity186, migration0/secret env copy0. [Actual API](ux-ui/acceptance/traffic-wave-api-2026-10-13.json)/[browser1440/320](ux-ui/acceptance/traffic-wave-deployed-2026-10-13.json) current/live/receipt/no errors/overflow passed. Реальные interfaces/пароли не менялись, messages0; rename/delete проверены собственным SQL dataset, не выданы за native VPN tunnel test.
Следующий189 — collector после отключения/смены источника между /interface и optional peer request: source.enabled/updatedAt должны проверяться перед каждой следующей командой и перед публикацией успешной записи. Live SSE уже проверяет каждую команду179. Затем проверить temporal peaks/частичные bins отдельно; этот блок не принимает sum-of-individual-peaks за общий одновременный пик.12.5 открыта. Локальный коммит без push.
## 12.5.189 — прекращение фонового опроса при изменении источника (2026-10-13)
Collector теперь повторно читает enabled/updatedAt по ID перед /interface, после его ответа до cache, перед /wireguard/peers, перед INSERT samples и перед успешной receipt. Выключенный/удалённый/изменённый источник прекращает цикл с явной причиной. Форма source check одинакова для всех типов серверов, Home exception отсутствует. Уже отправленный native request невозможно отменить задним числом; guard препятствует следующему request и публикации известного устаревшего результата. Межпроцессная атомарность source edit/native call/DB commit не заявляется.
[Owned PG SQL](ux-ui/acceptance/traffic-sourceguard-sql-2026-10-13.json):67 cases9counter+14history+10TCP SSE+13volume+21status/39536ms, no skip.2 новые cases обновляют own server.enabled/config внутри первого loopback HTTP handler до его ответа: snapshot.ok=false, peer request count не растёт, samples count не меняется. Сервер re-enabled только в own fixture для следующего case. Actual-collector VM граница стала поддерживать limit() read, unit и backend build passed. OwnDB mm_accept_166_1791831842508/role/container удалены, absence verified.
| Событие | Схема |
| --- | --- |
| Source выключен/config changed во время first request | завершение in-flight read → guard → no peer request/cache/new rows/ok receipt |
| Source неизменён | read → verify → validated rows → verify before publication |
[Source460/524](ux-ui/acceptance/traffic-sourceguard-source-2026-10-13.json)/[compiled1040](ux-ui/acceptance/traffic-sourceguard-compiled-2026-10-13.json) SHA256 parity passed. [Backend ux-sourceguard189](ux-ui/acceptance/traffic-sourceguard-runtime-2026-10-13.json) healthy/imageIds, frontend ux-warning183 unchanged. Only backend.env tag, rollback ux-membership188; migration0/secret env copy0. [Actual API](ux-ui/acceptance/traffic-sourceguard-api-2026-10-13.json)/[browser1440/320](ux-ui/acceptance/traffic-sourceguard-deployed-2026-10-13.json) passed current/live/receipt/no errors/overflow. Real CHR не отключались/не перенастраивались; passwords/messages changes0.
Следующий190 — пик не должен вычисляться из partial/unconfirmed aggregate wave. Разные времена индивидуальных пиков user bindings также требуют отдельной temporal aggregation, а сумма индивидуальных максимумов не является общим одновременным максимумом.12.5 и внешние dependencies остаются открыты. Локальный коммит без push.