vllm - 💡(How to fix) Fix [Feature]: Support full BlockPool state dump as KV events for external router

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
RAW_BUFFERClick to expand / collapse

🚀 The feature, motivation and pitch

Problem

When deploying vLLM with an external KV-cache-aware router that builds a radix tree from KV events, the router needs to reconstruct the full KV cache state of each worker on startup or after a crash.

vLLM's ZmqEventPublisher provides a replay buffer to recover from transient KV event gaps. However, due to its limited capacity, the router cannot reconstruct the full index once the replay buffer has been exhausted, leaving it with an incomplete view of the worker's cache and no recovery path.

Proposal

Add a tree dump capability to vLLM's EventPublisher that serializes the current BlockPool state as a sequence of BlockStored events, enabling external consumers to reconstruct the full index on demand.

This capability could be exposed via the existing replay socket or a dedicated HTTP endpoint such as /dump_kv_cache_state

Alternatives

No response

Additional context

No response

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

extent analysis

TL;DR

Implement a tree dump capability in vLLM's EventPublisher to enable external consumers to reconstruct the full index on demand.

Guidance

  • Identify the current limitations of the ZmqEventPublisher's replay buffer and its impact on the router's ability to reconstruct the full KV cache state.
  • Consider exposing the tree dump capability via the existing replay socket or a dedicated HTTP endpoint, such as /dump_kv_cache_state.
  • Evaluate the trade-offs of adding a new endpoint versus modifying the existing replay socket.
  • Assess the potential performance implications of serializing the current BlockPool state as a sequence of BlockStored events.

Example

No code snippet is provided as the issue does not contain sufficient technical details to generate a specific example.

Notes

The proposed solution assumes that the tree dump capability can be implemented without significant performance overhead or complexity. Further analysis is needed to determine the feasibility of this approach.

Recommendation

Apply workaround: Implement a tree dump capability in vLLM's EventPublisher, as it addresses the current limitation of the replay buffer and provides a recovery path for the router.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

vllm - 💡(How to fix) Fix [Feature]: Support full BlockPool state dump as KV events for external router