[PD] Gate deferred decode KV release on backend capability (#37454)

Co-authored-by: yhzhuang <yhzhuang@fb.com>
This commit is contained in:
Yonghao Zhuang
2026-09-03 15:42:21 -07:00
committed by GitHub
co-authored by yhzhuang
parent fd70325c10
commit 4dc9cda5f9
4 changed files with 33 additions and 1 deletions
@@ -101,6 +101,8 @@ class KVPoll:
class BaseKVManager(ABC):
"""Base class for managing transfer states"""
enable_deferred_decode_kv_release: bool = False
@abstractmethod
def __init__(
self,
@@ -2326,6 +2326,7 @@ class DecodeTransferQueue(DecodeHiCacheTransferMixin):
self.scheduler.hisparse_coordinator.request_finished(decode_req.req)
if (
self.enable_deferred_kv_release
and decode_req.kv_receiver.kv_mgr.enable_deferred_decode_kv_release
and decode_req.kv_receiver.abort_notified
):
# Decode-initiated abort: a prefill write may still target
@@ -99,6 +99,8 @@ class FakeKVReceiver(BaseKVReceiver):
bootstrap_addr: str,
bootstrap_room: Optional[int] = None,
):
self.kv_mgr = mgr
self.abort_notified: bool = False
self.bootstrap_done = False
self.has_sent_metadata = False
self.require_staging: bool = False