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 天内回复