Skip to content

[KV Connector] Add temporary, off-by-default VLLM_DISABLE_REQUEST_ID_RANDOMIZATION workaround#34415

Merged
vllm-bot merged 5 commits intovllm-project:mainfrom
eicherseiji:p2p-nccl-disable-request-id-randomization
Feb 15, 2026
Merged

[KV Connector] Add temporary, off-by-default VLLM_DISABLE_REQUEST_ID_RANDOMIZATION workaround#34415
vllm-bot merged 5 commits intovllm-project:mainfrom
eicherseiji:p2p-nccl-disable-request-id-randomization

Conversation

@eicherseiji
Copy link
Contributor

@eicherseiji eicherseiji commented Feb 12, 2026

v0.14.0 and later adds a random suffix to frontend-provided request IDs - #27987

This change broke several in-tree KV connectors that do not have CI coverage. See:

As a temporary measure, add a VLLM_DISABLE_REQUEST_ID_RANDOMIZATION=1 env var that will restore the pre-v0.14.0 behavior so that users of these connectors can work around the breakage.

This env var will be removed again in a forthcoming release.

Manual testing

pip install quart aiohttp pyzmq msgpack

# Terminal 1: Proxy
python examples/online_serving/disaggregated_serving_p2p_nccl_xpyd/disagg_proxy_p2p_nccl_xpyd.py

# Terminal 2: Prefill (GPU 0), add VLLM_DISABLE_REQUEST_ID_RANDOMIZATION=1 for fix
CUDA_VISIBLE_DEVICES=0 vllm serve facebook/opt-125m \
    --enforce-eager --host 0.0.0.0 --port 20003 \
    --dtype float16 --max-model-len 2048 --gpu-memory-utilization 0.5 \
    --kv-transfer-config \
    '{"kv_connector":"P2pNcclConnector","kv_role":"kv_producer","kv_port":"21001","kv_connector_extra_config":{"proxy_ip":"0.0.0.0","proxy_port":"30001","http_port":"20003","send_type":"PUT_ASYNC"}}'

# Terminal 3: Decode (GPU 1), add VLLM_DISABLE_REQUEST_ID_RANDOMIZATION for fix
CUDA_VISIBLE_DEVICES=1 vllm serve facebook/opt-125m \
    --enforce-eager --host 0.0.0.0 --port 20005 \
    --dtype float16 --max-model-len 2048 --gpu-memory-utilization 0.5 \
    --kv-transfer-config \
    '{"kv_connector":"P2pNcclConnector","kv_role":"kv_consumer","kv_buffer_size":"5e9","kv_port":"22001","kv_connector_extra_config":{"proxy_ip":"0.0.0.0","proxy_port":"30001","http_port":"20005","send_type":"PUT_ASYNC"}}'

# Terminal 4: Test
curl -s http://localhost:11001/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"facebook/opt-125m","prompt":"The capital of France is","max_tokens":20}' \
  | python -m json.tool

Without fix

Screenshot 2026-02-12 at 9 46 29 AM

With VLLM_DISABLE_REQUEST_ID_RANDOMIZATION=1, the warning is visible and fires only once

Screenshot 2026-02-12 at 9 51 12 AM

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
@mergify mergify bot added the v1 label Feb 12, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new, temporary, opt-in environment variable VLLM_DISABLE_REQUEST_ID_RANDOMIZATION. This flag allows users to disable the automatic randomization of request ID suffixes, which is a hotfix for compatibility with connectors like P2pNcclConnector that require consistent request IDs across distributed instances.

The changes are well-implemented and minimal:

  1. A new environment variable VLLM_DISABLE_REQUEST_ID_RANDOMIZATION is added in vllm/envs.py, following existing patterns for boolean flags in the project.
  2. The request ID randomization logic in vllm/v1/engine/input_processor.py is now conditional on this new flag.

The implementation is clean, straightforward, and ensures backward compatibility since the new behavior is opt-in. I have reviewed the changes and found no issues of high or critical severity.

Copy link
Member

@markmc markmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While in general we're trying to avoid adding new env vars (#25700) I think this is a pragmatic solution to provide a temporary workaround for broken KV connectors

@markmc markmc changed the title Add temporary, opt-in VLLM_DISABLE_REQUEST_ID_RANDOMIZATION [KV Connector] Add temporary, off-by-default VLLM_DISABLE_REQUEST_ID_RANDOMIZATION workaround Feb 12, 2026
@markmc markmc marked this pull request as ready for review February 12, 2026 12:16
@markmc markmc added the ready ONLY add when PR is ready to merge/full CI is needed label Feb 12, 2026
@njhill
Copy link
Member

njhill commented Feb 12, 2026

We should add a warning that enabling this may cause failures and/or subtle correctness errors if there are any duplicate externally-provided request ids.

eicherseiji and others added 3 commits February 12, 2026 09:56
Signed-off-by: Seiji Eicher <seiji@anyscale.com>
Signed-off-by: Seiji Eicher <seiji@anyscale.com>
@eicherseiji
Copy link
Contributor Author

Thanks @njhill, done

@vllm-bot vllm-bot merged commit 79c7e09 into vllm-project:main Feb 15, 2026
46 of 49 checks passed
athrael-soju pushed a commit to athrael-soju/vllm that referenced this pull request Feb 16, 2026
…_RANDOMIZATION` workaround (vllm-project#34415)

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
Signed-off-by: athrael-soju <athrael-soju@users.noreply.github.com>
wzhao18 pushed a commit to wzhao18/vllm that referenced this pull request Feb 18, 2026
…_RANDOMIZATION` workaround (vllm-project#34415)

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
Signed-off-by: wzhao18 <wzhao18.sz@gmail.com>
eldarkurtic pushed a commit to eldarkurtic/vllm that referenced this pull request Feb 19, 2026
…_RANDOMIZATION` workaround (vllm-project#34415)

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
Signed-off-by: Eldar Kurtic <research@neuralmagic.com>
ZJY0516 pushed a commit to ZJY0516/vllm that referenced this pull request Feb 23, 2026
…_RANDOMIZATION` workaround (vllm-project#34415)

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
Signed-off-by: zjy0516 <riverclouds.zhu@qq.com>
llsj14 pushed a commit to llsj14/vllm that referenced this pull request Mar 1, 2026
…_RANDOMIZATION` workaround (vllm-project#34415)

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
tunglinwood pushed a commit to tunglinwood/vllm that referenced this pull request Mar 4, 2026
…_RANDOMIZATION` workaround (vllm-project#34415)

Signed-off-by: Seiji Eicher <seiji@anyscale.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kv-connector ready ONLY add when PR is ready to merge/full CI is needed v1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants