开源项目
Dynamo修复解码故障重试时的预填充预约冲突
fix(router): release prefill booking when migration retries a failed decode (#17455)
概述
bootstrap模式的P/D分离服务会并发派发远程prefill和decode。decode失效触发Migration重试时,上一轮prefill通常还未结束,旧router预约占着同一请求ID,重试便以Request ID already exists失败。本次通过不拥有stream的RequestAttemptRelease,在重试派发前释放旧attempt的预约;原prefill仍可继续,已收到请求的decode也仍能拉取其KV。 释放具备幂等性并按attempt ID围栏,旧prefill结束不会释放新重试的预约。作者在3个frontend、32个prefill、12个decode worker且migration-limit=3的故障试验中记录了原先7次HTTP 500,本条针对该具体失败链,而非泛称任意worker故障均可无损恢复。