Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
aad30bd3
Unverified
Commit
aad30bd3
authored
Jun 06, 2025
by
Nick Hill
Committed by
GitHub
Jun 06, 2025
Browse files
[BugFix] Fix MultiConnector test after HMA changes (#19291)
Signed-off-by:
Nick Hill
<
nhill@redhat.com
>
parent
94ecee62
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
9 deletions
+14
-9
tests/v1/kv_connector/unit/test_multi_connector.py
tests/v1/kv_connector/unit/test_multi_connector.py
+8
-7
vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
...istributed/kv_transfer/kv_connector/v1/multi_connector.py
+2
-2
vllm/v1/core/kv_cache_manager.py
vllm/v1/core/kv_cache_manager.py
+4
-0
No files found.
tests/v1/kv_connector/unit/test_multi_connector.py
View file @
aad30bd3
...
...
@@ -60,7 +60,8 @@ class TestSharedStorageConnector(SharedStorageConnector):
if
isinstance
(
arg
,
int
):
to_log
.
append
(
str
(
arg
))
elif
isinstance
(
arg
,
KVCacheBlocks
):
to_log
.
append
(
f
"num_blocks=
{
len
(
arg
.
blocks
)
}
"
)
to_log
.
append
(
f
"num_blocks=
{
[
len
(
b
)
for
b
in
arg
.
blocks
]
}
"
)
# Log the event as a line to the file
try
:
...
...
@@ -176,7 +177,7 @@ def test_multi_shared_storage_connector_consistency():
# on each connector in turn.
assert
events
[
"storage1-SCHEDULER"
][:
3
]
==
[
'get_num_new_matched_tokens 0'
,
'update_state_after_alloc num_blocks=
0
0'
,
'build_connector_meta'
'update_state_after_alloc num_blocks=
[0]
0'
,
'build_connector_meta'
]
assert
events
[
"storage1-WORKER"
][:
5
]
==
[
'register_kv_caches'
,
'bind_connector_metadata'
,
'start_load_kv'
,
...
...
@@ -184,7 +185,7 @@ def test_multi_shared_storage_connector_consistency():
]
assert
events
[
"storage2-SCHEDULER"
][:
3
]
==
[
'get_num_new_matched_tokens 0'
,
'update_state_after_alloc num_blocks=
0
0'
,
'build_connector_meta'
'update_state_after_alloc num_blocks=
[0]
0'
,
'build_connector_meta'
]
assert
events
[
"storage2-WORKER"
][:
5
]
==
[
'register_kv_caches'
,
'bind_connector_metadata'
,
'start_load_kv'
,
...
...
@@ -205,11 +206,11 @@ def test_multi_shared_storage_connector_consistency():
# chosen).
assert
events
[
"storage1-SCHEDULER"
][:
3
]
==
[
'get_num_new_matched_tokens 0'
,
'update_state_after_alloc num_blocks=
7
96'
,
'build_connector_meta'
'update_state_after_alloc num_blocks=
[7]
96'
,
'build_connector_meta'
]
assert
events
[
"storage2-SCHEDULER"
][:
3
]
==
[
'get_num_new_matched_tokens 0'
,
'update_state_after_alloc num_blocks=
0
0'
,
'build_connector_meta'
'update_state_after_alloc num_blocks=
[0]
0'
,
'build_connector_meta'
]
# Delete storage1 connector state
...
...
@@ -229,11 +230,11 @@ def test_multi_shared_storage_connector_consistency():
# blocks for the second connector.
assert
events
[
"storage1-SCHEDULER"
][:
3
]
==
[
'get_num_new_matched_tokens 0'
,
'update_state_after_alloc num_blocks=
0
0'
,
'build_connector_meta'
'update_state_after_alloc num_blocks=
[0]
0'
,
'build_connector_meta'
]
assert
events
[
"storage2-SCHEDULER"
][:
3
]
==
[
'get_num_new_matched_tokens 0'
,
'update_state_after_alloc num_blocks=
7
96'
,
'build_connector_meta'
'update_state_after_alloc num_blocks=
[7]
96'
,
'build_connector_meta'
]
# Clean up
...
...
vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
View file @
aad30bd3
...
...
@@ -153,6 +153,7 @@ class MultiConnector(KVConnectorBase_V1):
num_external_tokens
:
int
):
chosen_connector
=
self
.
_requests_to_connector
.
get
(
request
.
request_id
,
-
1
)
empty_blocks
=
blocks
.
new_empty
()
for
i
,
c
in
enumerate
(
self
.
_connectors
):
if
i
==
chosen_connector
:
# Forward call to the chosen connector (if any).
...
...
@@ -160,8 +161,7 @@ class MultiConnector(KVConnectorBase_V1):
num_external_tokens
)
else
:
# Call with empty blocks for other connectors.
c
.
update_state_after_alloc
(
request
,
KVCacheBlocks
.
create_empty
(),
0
)
c
.
update_state_after_alloc
(
request
,
empty_blocks
,
0
)
def
build_connector_meta
(
self
,
...
...
vllm/v1/core/kv_cache_manager.py
View file @
aad30bd3
...
...
@@ -61,6 +61,10 @@ class KVCacheBlocks:
if
block
.
block_hash
is
None
]
def
new_empty
(
self
)
->
"KVCacheBlocks"
:
"""Creates a new KVCacheBlocks instance with no blocks."""
return
KVCacheBlocks
([[]
for
_
in
range
(
len
(
self
.
blocks
))])
class
KVCacheManager
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment