[Bugfix] Enforce strict timeout for Posix AIO#1022
Merged
ygwpz merged 18 commits intoJun 17, 2026
Conversation
ygwpz
reviewed
Jun 13, 2026
ygwpz
reviewed
Jun 13, 2026
ygwpz
reviewed
Jun 13, 2026
ygwpz
reviewed
Jun 13, 2026
ygwpz
reviewed
Jun 13, 2026
ygwpz
reviewed
Jun 13, 2026
ygwpz
reviewed
Jun 13, 2026
This reverts commit 3711bac.
This reverts commit a0c53cd.
…d-cache-management into aio-strict-timeout
ygwpz
reviewed
Jun 15, 2026
This reverts commit 5f386ef.
# Conflicts: # ucm/integration/vllm/hma_connector.py
qyh111
previously approved these changes
Jun 16, 2026
qyh111
reviewed
Jun 16, 2026
qyh111
approved these changes
Jun 17, 2026
ygwpz
approved these changes
Jun 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enforce hard timeouts for Posix AIO cache operations so a stuck mount no longer leaves vLLM requests waiting forever on external KV cache loads.
Changes
kv_load_failure_policy=recompute.timeout_msdefault instead of separate AIO timeout knobs.Why
When a mounted cache backend stops responding, existing AIO requests can be submitted successfully but never complete. Before this change, requests that hit external KV cache could remain blocked until the mount recovered, making inference requests hang under storage incidents.
Impact
With the default
timeout_ms, stuck AIO load tasks are force-completed as timeout failures. In vLLM, deployments usingkv_load_failure_policy=recomputecan continue serving by recomputing the affected KV blocks instead of waiting indefinitely. If the storage backend remains stuck, cache loads may be slower because they time out and fall back to recompute, but the service remains available.Verification
storage_backendson that mount,posix_io_engine: aio,io_direct: true, no explicittimeout_ms.dmsetup suspendfor ~75s during external cache load;/v1/modelsstayed responsive; 8 concurrent completion requests returned200 OKin ~60.8s; post-resume requests completed in ~0.64s.origin/develop: same setup; 8 concurrent completion requests all hit client timeout at ~55s while UCM repeatedly loggedTask(1) has not finished after (2000) ms; post-resume requests completed after the mount recovered.