Skip to content

refactor(rlix): add get_coordinator_actor_name helper (F7)#27

Merged
zhenyulincs merged 1 commit into
rlops:zhenyu/miles-mvp-e2efrom
TianyeGGBond:tianye/f7-coordinator-actor-name-helper
Jun 21, 2026
Merged

refactor(rlix): add get_coordinator_actor_name helper (F7)#27
zhenyulincs merged 1 commit into
rlops:zhenyu/miles-mvp-e2efrom
TianyeGGBond:tianye/f7-coordinator-actor-name-helper

Conversation

@TianyeGGBond

Copy link
Copy Markdown
Collaborator

Context

F7 (per-pipeline Ray namespace isolation) needs the central scheduler and the
miles drivers to agree on the coordinator actor's name. Today both sides
build that name by hand-writing the same f-string
f"{COORDINATOR_ACTOR_NAME_PREFIX}{pipeline_id}" in separate files.

The namespace half of the same convention is already centralized in
get_pipeline_namespace(), but the name half is not — leaving two copies that
can silently drift apart. That drift is exactly the class of mismatch behind the
M11.1 "Failed to resolve actor" bug.

Change

  • rlix/protocol/types.py: add get_coordinator_actor_name(pipeline_id), a
    companion to get_pipeline_namespace(pipeline_id), so the name and namespace
    conventions are both single-sourced.
  • rlix/scheduler/scheduler.py: use the helper in
    _get_or_lookup_coordinator_handle_locked; drop the now-unused
    COORDINATOR_ACTOR_NAME_PREFIX import.

No behavior change — the produced actor name is identical.

Related

The miles drivers (examples/rlix/run_miles_rlix.py, run_miles_dual.py) build
the same name. A companion PR in rlops/miles switches them to this helper.
That PR imports get_coordinator_actor_name from rlix.protocol.types, so
this PR should merge first.

Both the scheduler and the miles drivers built the per-pipeline coordinator
actor name by hand-writing f"{COORDINATOR_ACTOR_NAME_PREFIX}{pipeline_id}".
The namespace half of the same convention is already centralized in
get_pipeline_namespace(); centralize the name half next to it so both are
single-sourced and cannot drift.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants