SQS: sendMessageToQueue лимиты+sync persist, Reset чистит FIFO, nil-map Duplicates, ApproximateReceiveCount без +1, billing.Close после Shutdown, запрет ':' в access_key, recover в PeriodicTasks

This commit is contained in:
Repinoid
2026-10-11 08:54:21 +03:00
parent e8e0879914
commit 120a44cb6a
6 changed files with 47 additions and 12 deletions
+9
View File
@@ -183,6 +183,11 @@ func (q *Queue) InitDuplicatation(deduplicationId string) {
return
}
// Ленивая инициализация: очередь, собранная литералом или загруженная из
// Redis до появления поля, может иметь nil-map — иначе запись паникует.
if q.Duplicates == nil {
q.Duplicates = make(map[string]time.Time)
}
if _, ok := q.Duplicates[deduplicationId]; !ok {
q.Duplicates[deduplicationId] = time.Now()
}
@@ -344,6 +349,10 @@ func (q *Queue) Reset() {
q.uuidIdx = make(map[string]int)
q.liveCount = 0
q.deadCount = 0
// Чистим FIFO-состояние: иначе блокировки групп и порядковые номера остались
// бы, и сообщения этих групп не выдавались после purge (ревью 2026-10-11).
q.FIFOMessages = make(map[string]int)
q.FIFOSequenceNumbers = make(map[string]int)
}
// EnsureIndexes — экспортируемая обёртка над ensureIndexes: строит индексы,