A successfully acked message is redelivered long before its visibility timeout expires
維護者通常 2 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 52/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- go
研究方向
Start by tracing the message ack and visibility-timeout delivery paths, then inspect how delivery-state rows are updated and garbage-collected. Reproduce the reported redelivery under load and compare the stored ack state and invisible_until with the configured 60-second timeout. Done means identifying and fixing the cause so a successfully acked message is not redelivered before its visibility timeout.
由索引模型根據 Issue 內容生成。
描述
Problem
A message that a consumer processed successfully, and reported as processed, was redelivered about 12 seconds later, against a 60-second visibility timeout and with a single consumer running. The redelivery reported attempt: 2, so it came through the visibility-timeout path on a delivery-state row that was still unacked.
Impact
The duplicate propagated: Runway answered the same merge-conflict-check twice, and the batch stage created a second batch for the same request. The pipeline absorbed it, and the duplicate batches failed, but each one cost a full speculation and build cycle. If a successful ack can be redelivered at a fifth of its visibility timeout, at-least-once delivery is firing far more often than intended.
Not yet established
Either the ack did not set acked, despite the consumer reporting success, or invisible_until was shorter than configured. The delivery-state row had already been garbage-collected, so it could not be inspected. This reproduced under load (a 20-request demo run) and not on smaller runs.
Status
No fixing change has been identified on main.
- 主要語言
- Go
- 星號
- 247
- 分支
- 16
- 平均合併
- 2 天 1 小時
- 30 天內合併 PR
- 125
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
uber/submitqueue 的其他 Issue
-
[Bug] Land returns codes.Unknown instead of InvalidArgument for an unrecognized strategy可能已有人在做 @DivyanshGarg380 於 14 天前認領。 未關閉bug
難度 1/5 1 小時以內 新手友好度 22/100
uber/submitqueue#996 ·
維護者通常 2 天內回覆
-
Batch-scoped DLQ reconciler fails requests that another live batch owns可能已有人在做 @burgulvedant 於 14 天前認領。 未關閉bug
難度 4/5 3-5 天 新手友好度 55/100
uber/submitqueue#826 · 1 則留言 ·
維護者通常 2 天內回覆
-
Cancel misses a batch mid-promotion, letting a cancelled request reach speculation可能重新可做 @burgulvedant 於 14 天前認領,目前沒有進行中的 PR。 未關閉bug
難度 4/5 3-5 天 新手友好度 45/100
uber/submitqueue#825 · 1 則留言 ·
維護者通常 2 天內回覆
-
bug
難度 4/5 3-5 天 新手友好度 55/100
uber/submitqueue#820 ·
維護者通常 2 天內回覆
-
bug
難度 5/5 一週以上 新手友好度 35/100
uber/submitqueue#819 · 1 則留言 ·
維護者通常 2 天內回覆
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 72/100
kubescape/node-agent#1099 ·
維護者通常 1 天內回覆
-
import-export
難度 2/5 1-3 小時 新手友好度 72/100
genealogix/glx#1498 ·
維護者通常 2 天內回覆
-
Bug pulumi/pulumi-terraform-bridge R2 S2
難度 1/5 1 小時以內 新手友好度 72/100
pulumi/pulumi-terraform-bridge#3713 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
ossf/pvtr-github-repo-scanner#539 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 75/100
goreleaser/goreleaser#7316 ·
維護者通常 1 天內回覆