HISTORY: исправлены дефекты — синхронные удаления Redis + RedrivePolicy; верификация PASS
This commit is contained in:
@@ -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 —
|
||||
удалена вручную). Фикс работает.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user