HISTORY: исправлены дефекты — синхронные удаления Redis + RedrivePolicy; верификация PASS

This commit is contained in:
“Naeel”
2026-08-15 09:00:34 +04:00
parent 7467eccd66
commit 01b08fb6ca
+18
View File
@@ -805,3 +805,21 @@ SIGKILL/рестарте пода запись не успевает → оче
**Истечение dedup-окна (5 мин) не проверено** — тест быстрый, только «внутри окна».
## ИСПРАВЛЕНИЯ дефектов (15.08.2026, коммит `7467ecc`, digest `sha256:b81f855a…`)
1. **Воскрешение удалённых очередей/сообщений** (critical): все УДАЛЕНИЯ из
Redis переведены в синхронный режим (DeleteQueue, DeleteMessagePersist,
DeleteMessagesPersist, PurgeMessagesPersist; таймауты 3–5с). Записи
(SaveMessage/SaveMessages/SaveQueue/SaveTenantRaw) остались асинхронными.
Причина дефекта: удаления шли через asyncWrite и терялись при SIGKILL/рестарте.
2. **RedrivePolicy (DLQ) не работал**: `setQueueAttributesV1` искал DLQ по
голому имени, а ключи очередей tenant-scoped → InvalidAttributeValue всегда.
Теперь DLQ ищется по `{tenantAccessKey}:{queueName}`; в вызовы передан t.AccessKey.
**Верификация после деплоя**:
- `fifo_dlq_probe.py`: FIFO порядок PASS, FIFO dedup PASS, **DLQ PASS**
(сообщение после 2 попыток ушло в DLQ, в основной пусто).
- Тест «воскрешение»: 3 очереди созданы и удалены → SIGKILL пода → после подъёма
удалённые НЕ вернулись (осталась только сирота от первого FAIL-прогона DLQ —
удалена вручную). Фикс работает.