Skip to content

Don't require probes to pass in router worker sync - #4313

Merged
un-def merged 2 commits into
masterfrom
issue_4310_router_worker_sync_ignore_probes
Sep 25, 2026
Merged

un-def merged 2 commits into
masterfrom
issue_4310_router_worker_sync_ignore_probes

Conversation

@un-def

@un-def un-def commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

The sync only picked up router and worker jobs with JobModel.ready, i.e. with all probes passed. A router probe that depends on registered workers, such as /health_generate, never passed, since workers are only registered once the router is picked up, so the service deadlocked.

The sync now takes all running jobs, filtered by job_num == 0 instead. Workers are registered once the sync's own check (/server_info or GetServerInfo) reports them ready, so probes can no longer delay worker registration. As probes are configured per service, not per replica group, such gating only worked when the router and workers share the transport and API.

The job_num == 0 condition is a no-op for now, as services don't support multi-node replicas. Previously, it was implied by ready, which is only set for the first node.

Fixes: #4310

un-def and others added 2 commits September 25, 2026 10:38
The sync only picked up router and worker jobs with
`JobModel.ready`, i.e. with all probes passed. A router probe
that depends on registered workers, such as `/health_generate`,
never passed, since workers are only registered once the router
is picked up, so the service deadlocked.

The sync now takes all running jobs, filtered by `job_num == 0`
instead. Workers are registered once the sync's own check
(`/server_info` or `GetServerInfo`) reports them ready, so
`probes` can no longer delay worker registration. As probes are
configured per service, not per replica group, such gating only
worked when the router and workers share the transport and API.

The `job_num == 0` condition is a no-op for now, as services
don't support multi-node replicas. Previously, it was implied by
`ready`, which is only set for the first node.

Fixes: #4310
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@un-def
un-def merged commit 229f535 into master Sep 25, 2026
26 checks passed
@un-def
un-def deleted the issue_4310_router_worker_sync_ignore_probes branch September 25, 2026 13:01
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.

[Bug]: Custom probes may break worker registration with type: sglang router

1 participant