[KVTransfer] MultiConnector: merge kv_transfer_params dicts across connectors (#46777)

Signed-off-by: deng451e <838677410@qq.com>

weishu committed Jun 29, 2026 at 17:25 UTC 77654d080c610f94fd402251ac23a6c0016c7d94
1 file changed +9 -6
vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
+9 -6
@@ -492,12 +492,15 @@ class MultiConnector(KVConnectorBase_V1, SupportsHMA):
492 async_saves += 1
493 if txfer_params is not None:
494 if kv_txfer_params is not None:
495 - # TODO we can probably change this to merge the dicts here,
496 - # checking for key clashes.
497 - raise RuntimeError(
498 - "Only one connector can produce KV transfer params"
499 - )
500 - kv_txfer_params = txfer_params
495 + clashes = set(kv_txfer_params) & set(txfer_params)
496 + if clashes:
497 + raise RuntimeError(
498 + "Key clash in kv_transfer_params from multiple "
499 + f"connectors: {clashes}"
500 + )
501 + kv_txfer_params.update(txfer_params)
502 + else:
503 + kv_txfer_params = txfer_params
504 if async_saves > 1:
505 self._extra_async_saves[request.request_id] = async_saves - 1
506