Handle abort for retracted requests in disagg decode prealloc queue (#18705)

Co-authored-by: sunhailiang <sunhailiang@baidu.com>
Co-authored-by: Liangsheng Yin <lsyincs@gmail.com>
This commit is contained in:
qmzznbxhl
2026-02-14 10:39:39 +08:00
committed by GitHub
parent bd39de7d5e
commit 066b0b70d9

View File

@@ -2817,6 +2817,20 @@ class Scheduler(
logger.debug(f"Abort transfer queue request. {decode_req.req.rid=}")
decode_req.kv_receiver.abort()
# Abort requests already retracted to CPU cache
if self.disagg_decode_prealloc_queue.retracted_queue:
remaining_retracted = []
for decode_req in self.disagg_decode_prealloc_queue.retracted_queue:
if recv_req.abort_all or decode_req.rid.startswith(recv_req.rid):
assert hasattr(decode_req, "kv_cache_cpu")
del decode_req.kv_cache_cpu
self.send_to_tokenizer.send_output(
AbortReq(rid=decode_req.rid), decode_req
)
else:
remaining_retracted.append(decode_req)
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