[Bugfix] Add check_health to v1 async client. (#19821)
Signed-off-by: Kourosh Hakhamaneshi <kourosh@anyscale.com>
This commit is contained in:
committed by
GitHub
parent
b1098b4072
commit
e2148dc5ea
@ -369,3 +369,32 @@ async def test_dp_rank_argument(monkeypatch: pytest.MonkeyPatch):
|
||||
sampling_params=sampling_params,
|
||||
data_parallel_rank=1):
|
||||
pass
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_check_health(monkeypatch: pytest.MonkeyPatch):
|
||||
"""Test that check_health returns normally for healthy engine
|
||||
and raises EngineDeadError when the engine is dead.
|
||||
"""
|
||||
from unittest.mock import patch
|
||||
|
||||
from vllm.v1.engine.exceptions import EngineDeadError
|
||||
|
||||
with monkeypatch.context() as m, ExitStack() as after:
|
||||
m.setenv("VLLM_USE_V1", "1")
|
||||
|
||||
engine = AsyncLLM.from_engine_args(TEXT_ENGINE_ARGS)
|
||||
after.callback(engine.shutdown)
|
||||
|
||||
# Test 1: Healthy engine should not raise any exception
|
||||
await engine.check_health()
|
||||
|
||||
# Test 2: Mock the errored property to simulate a dead engine
|
||||
with patch.object(type(engine),
|
||||
'errored',
|
||||
new_callable=lambda: property(lambda self: True)
|
||||
), pytest.raises(EngineDeadError):
|
||||
await engine.check_health()
|
||||
|
||||
# Test 3: Verify healthy engine still works after mock
|
||||
await engine.check_health()
|
||||
|
||||
@ -552,6 +552,8 @@ class AsyncLLM(EngineClient):
|
||||
|
||||
async def check_health(self) -> None:
|
||||
logger.debug("Called check_health.")
|
||||
if self.errored:
|
||||
raise self.dead_error
|
||||
|
||||
async def start_profile(self) -> None:
|
||||
await self.engine_core.profile_async(True)
|
||||
|
||||
Reference in New Issue
Block a user