Compare commits

...
Author SHA1 Message Date
tzhouam bedc42a94d [Bugfix] Preserve session IDs when upgrading Omni engine requests
Signed-off-by: tzhouam <tzhouam@connect.ust.hk>
2026-10-04 03:19:39 +08:00
2 changed files with 25 additions and 1 deletions

No files matched your search

+24 -1
View File
@@ -13,13 +13,15 @@ substitutable with the base class — including base-style calls that pass
import inspect
import msgspec
import numpy as np
import pytest
import torch
from vllm.sampling_params import SamplingParams
from vllm.v1.engine import EngineCoreRequest
from vllm.v1.request import Request
from vllm_omni.engine import PromptEmbedsPayload
from vllm_omni.engine import OmniEngineCoreRequest, PromptEmbedsPayload
from vllm_omni.request import OmniRequest, OmniStreamingUpdate
pytestmark = [pytest.mark.core_model, pytest.mark.cpu]
@@ -111,3 +113,24 @@ def test_model_intermediate_buffer_round_trips_to_streaming_update():
assert update is not None
assert request.model_intermediate_buffer is buffer
assert update.model_intermediate_buffer is buffer
@pytest.mark.parametrize("session_id", [None, "session"])
def test_session_survives_omni_upgrade_wire_transport_and_scheduler_conversion(session_id):
core = EngineCoreRequest(
request_id="session-request",
prompt_token_ids=[1, 2],
mm_features=None,
sampling_params=SamplingParams(max_tokens=2),
pooling_params=None,
arrival_time=0.0,
lora_request=None,
cache_salt=None,
data_parallel_rank=None,
session_id=session_id,
)
upgraded = OmniEngineCoreRequest.from_request(core)
decoded = msgspec.msgpack.decode(msgspec.msgpack.encode(upgraded), type=OmniEngineCoreRequest)
scheduled = OmniRequest.from_engine_core_request(decoded, block_hasher=None)
assert decoded.session_id == session_id
assert scheduled.session_id == session_id
+1
View File
@@ -123,6 +123,7 @@ class OmniEngineCoreRequest(EngineCoreRequest):
trace_headers=request.trace_headers,
resumable=request.resumable,
external_req_id=request.external_req_id,
session_id=request.session_id,
reasoning_ended=request.reasoning_ended,
reasoning_parser_kwargs=request.reasoning_parser_kwargs,
abort_immediately=request.abort_immediately,