refactor(miles): build coordinator name via get_coordinator_actor_name (F7)#17
Merged
zhenyulincs merged 1 commit intoJun 21, 2026
Conversation
…e (F7)
The drivers named the per-pipeline coordinator actor by hand-writing
f"{COORDINATOR_ACTOR_NAME_PREFIX}{pipeline_id}", duplicating the convention the
rlix scheduler also hand-writes. Build the name through the shared
get_coordinator_actor_name() helper instead, threaded through _build_pipeline
the same way get_pipeline_namespace already is.
Also trim the stale comment in run_miles_rlix.py that pinned a scheduler source
line number and M11 debug history down to a concise note on why the name must
match the scheduler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
F7 (per-pipeline Ray namespace isolation) requires the miles drivers to name the
coordinator actor exactly as the rlix scheduler resolves it. The drivers built
that name by hand-writing
f"{COORDINATOR_ACTOR_NAME_PREFIX}{pipeline_id}",duplicating the convention the scheduler also hand-writes — the drift risk behind
the M11.1 "Failed to resolve actor" bug.
Change
examples/rlix/run_miles_rlix.pyandexamples/rlix/run_miles_dual.py: buildthe coordinator name via
get_coordinator_actor_name(pipeline_id)instead ofthe raw f-string. Import the helper in place of
COORDINATOR_ACTOR_NAME_PREFIX(in
run_miles_dual.pyit is threaded through_build_pipelinethe same wayget_pipeline_namespacealready is).run_miles_rlix.py: trim the stale comment that pinned a scheduler source linenumber (
scheduler.py:1213) plus M11 debug history down to a concise note onwhy the name must match the scheduler.
No behavior change — the produced actor name is identical.
Related
Depends on rlops/rlix#27, which adds
get_coordinator_actor_nametorlix.protocol.types. That PR should merge first; this one imports the helperfrom there.