diff --git a/HISTORY/2026-10-11-session-log.md b/HISTORY/2026-10-11-session-log.md index 3c58179..aa2f3af 100644 --- a/HISTORY/2026-10-11-session-log.md +++ b/HISTORY/2026-10-11-session-log.md @@ -33,12 +33,15 @@ | 🟡19 | `api/handler/devices.go` | Ошибка `GetByName` после успешного INSERT давала 500 (пароль терялся, повтор → 409) → отдаём 201 с in-memory объектом | `5114320` | | 🟡11 | `iotpg/iot_telemetry_store.go` | `getTenantDB`/`QueryTelemetry` не проверяли `safeNamespaceRe` (`a_b` ↔ `a-b` → одна БД) → валидация на всех путях | `f41a9fe` | -### Осознанно НЕ менялось (решения) +### Осознанно НЕ менялось — РЕШЕНИЯ (2026-10-11) -- 🟡16 (QoS1 ack): оставлен async-ack + метрика дропов (throughput важнее; синхронный - ack блокировал бы MQTT-колбэк — это уже чинили ранее). -- 🟡12 (`AUTH_TEST_MODE`): уже fail-closed — при отсутствии `JWT_HMAC_SECRET` и - `AUTH_TEST_MODE=false` middleware отказывает в обслуживании. +- 🟡16 (QoS1 ack): **решение — оставить async-ack + метрика дропов.** Синхронный + ack (подтверждать только после отправки в SQS) блокировал бы MQTT-колбэк при + недоступности SQS — это уже чинили ранее (потеря ВСЕХ сообщений). Throughput + важнее; дроп при переполнении фиксируется счётчиком `dropped`. +- 🟡12 (`AUTH_TEST_MODE`): **решение — оставить как есть.** Уже fail-closed: при + отсутствии `JWT_HMAC_SECRET` и `AUTH_TEST_MODE=false` middleware отказывает в + обслуживании (500), а test-mode срабатывает только без секрета. ## 3. Прочее (перед ревью, в этой же сессии)