Skip to content

Commit de933b9

Browse files
authored
[Ray] Fix ray executor progress test (#3033)
1 parent 6c9c4b0 commit de933b9

File tree

3 files changed

+35
-3
lines changed

3 files changed

+35
-3
lines changed

mars/conftest.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def ray_start_regular_shared(request): # pragma: no cover
3939

4040
@pytest.fixture(scope="module")
4141
def ray_start_regular_shared2(request): # pragma: no cover
42+
os.environ["RAY_kill_idle_workers_interval_ms"] = "0"
4243
param = getattr(request, "param", {})
4344
num_cpus = param.get("num_cpus", 64)
4445
total_memory_mb = num_cpus * 2 * 1024**2
@@ -50,6 +51,7 @@ def ray_start_regular_shared2(request): # pragma: no cover
5051
yield ray.init(num_cpus=num_cpus, job_config=job_config)
5152
finally:
5253
ray.shutdown()
54+
os.environ.pop("RAY_kill_idle_workers_interval_ms", None)
5355

5456

5557
@pytest.fixture

mars/deploy/oscar/tests/test_local.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ def test_no_default_session():
570570

571571

572572
@pytest.mark.asyncio
573-
async def test_session_progress(create_cluster):
573+
async def test_session_set_progress(create_cluster):
574574
session = get_default_async_session()
575575
assert session.address is not None
576576
assert session.session_id is not None
@@ -597,6 +597,36 @@ def f1(interval: float, count: int):
597597
assert info.progress() == 1
598598

599599

600+
@pytest.mark.asyncio
601+
async def test_session_get_progress(create_cluster):
602+
session = get_default_async_session()
603+
assert session.address is not None
604+
assert session.session_id is not None
605+
606+
raw = np.random.rand(100, 4)
607+
t = mt.tensor(raw, chunk_size=5)
608+
609+
def f1(c):
610+
time.sleep(0.5)
611+
return c
612+
613+
t1 = t.sum()
614+
r = t1.map_chunk(f1)
615+
info = await session.execute(r)
616+
617+
for _ in range(100):
618+
if 0 < info.progress() < 1:
619+
break
620+
await asyncio.sleep(0.1)
621+
else:
622+
raise Exception(f"progress test failed, actual value {info.progress()}.")
623+
624+
await info
625+
assert info.result() is None
626+
assert info.exception() is None
627+
assert info.progress() == 1
628+
629+
600630
@pytest.fixture
601631
def setup_session():
602632
session = new_session(n_cpu=2, use_uvloop=False)

mars/deploy/oscar/tests/test_ray_dag.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,5 +120,5 @@ def test_sync_execute(config):
120120

121121
@require_ray
122122
@pytest.mark.asyncio
123-
async def test_session_progress(ray_start_regular_shared2, create_cluster):
124-
test_local.test_session_progress(create_cluster)
123+
async def test_session_get_progress(ray_start_regular_shared2, create_cluster):
124+
await test_local.test_session_get_progress(create_cluster)

0 commit comments

Comments
 (0)