Skip to content

Reflect terminal PD producer failure in readiness and request admission #246

Closed

Description

@gspark-etri

Problem

A terminally failed subprocess prefill producer leaves the batched service marked ready and accepting requests that cannot succeed.

Evidence

Actual tiny Torch subprocess plus HTTP server on ea09aca: /ready200 before worker death; after owned child kill and receiver termination, _failed is set but /ready still200/ready=true and the next completion returns500/non-retryable. The decoder service state remains idle. Baseline JSON preserved in research records.

Scope

Expose subprocess producer readiness, propagate configured pool-member availability, and use it consistently in batched HTTP readiness and new-request admission. Reject unavailable producer work with retryable503 before scheduling. Preserve per-request error recovery, non-PD/legacy worker compatibility, and explicit idle-boundary replacement. Do not silently reroute requests, replay work or add automatic restart.

Done when

Real subprocess/HTTP tests prove200->503 on terminal failure, no new admitted work,200after explicit healthy replacement with correct output, and per-request errors do not falsely poison readiness. Existing serving/PD tests pass.

Owner

Codex implementation; maintainer review/merge.

Activity

  1. gspark-etri commented on Oct 30, 2026

    @gspark-etri
    CollaboratorAuthor

    Fixed by #282, squash-merged into optimus-rm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions