[Bugfix] Keep client error status in the single-GPU diffusion executor (#8474)
Signed-off-by: Wenbo Ji <36562829+fusheng-ji@users.noreply.github.com>
This commit is contained in:
1 parent
9146284c16
commit
539c533762
4 files changed
+80
-4
No files matched your search
@@ -1452,3 +1452,27 @@ def test_execute_model_batch_cancellation_preserves_live_peer(monkeypatch, cance
|
||||
assert pipeline.last_batch is None
|
||||
finally:
|
||||
registry.close()
|
||||
|
||||
|
||||
@pytest.mark.core_model
|
||||
@pytest.mark.cpu
|
||||
def test_non_step_fallback_keeps_client_error_status():
|
||||
"""Step mode's full-forward fallback must not drop a request error's 4xx status."""
|
||||
from vllm_omni.errors import OmniClientError
|
||||
|
||||
runner = _make_runner(cache_backend=None, cache_backend_name="none")
|
||||
runner.execute_model = Mock(side_effect=OmniClientError("bad request option", status_code=400))
|
||||
request = _make_request()
|
||||
scheduler_output = SimpleNamespace(
|
||||
scheduled_new_reqs=[SimpleNamespace(request_id=request.request_id, req=request, diffusion_kv_metadata=None)],
|
||||
scheduled_cached_reqs=SimpleNamespace(request_ids=[]),
|
||||
kv_prefetch_job=None,
|
||||
)
|
||||
|
||||
result = DiffusionModelRunner._execute_non_step_requests(runner, scheduler_output)
|
||||
|
||||
output = result.get_request_output(request.request_id)
|
||||
assert output.finished is True
|
||||
assert output.result.error == "bad request option"
|
||||
assert output.result.error_status_code == 400
|
||||
assert output.result.error_type == "BadRequestError"
|
||||
Reference in new issue
Block a user