Fix pipeline-parallel abort missing in-flight requests in non-current microbatch slots (#29405)

Co-authored-by: burling <3637497+burling@users.noreply.github.com>
Co-authored-by: zhaotyer <89376832+zhaotyer@users.noreply.github.com>
This commit is contained in:
fzyzcjy
2026-07-10 08:53:18 +08:00
committed by GitHub
co-authored by burling zhaotyer
parent 2c6cd1ef41
commit 2e66707399
2 changed files with 99 additions and 4 deletions
+5 -4
View File
@@ -3966,12 +3966,13 @@ class Scheduler(
self.disagg_decode_prealloc_queue.retracted_queue = remaining_retracted
# Delete requests in the running batch
if self.cur_batch is self.running_batch or self.cur_batch is None:
reqs = self.running_batch.reqs
if self.ps.pp_size == 1:
inflight_batches = [self.running_batch, self.cur_batch]
else:
reqs = self.running_batch.reqs + self.cur_batch.reqs
inflight_batches = [*self.running_mbs, *self.mbs]
for req in reqs:
inflight_reqs = {r for b in inflight_batches if b is not None for r in b.reqs}
for req in inflight_reqs:
if not req.finished() and (
recv_req.abort_all or req.rid.startswith(recv_req.rid)
):