Skip to content

fix(multi_agent_a2a): pin fastapi/starlette to base image#907

Open
Aydin-ab wants to merge 1 commit into
mainfrom
fix/multi-agent-a2a-fastapi-skew
Open

fix(multi_agent_a2a): pin fastapi/starlette to base image#907
Aydin-ab wants to merge 1 commit into
mainfrom
fix/multi-agent-a2a-fastapi-skew

Conversation

@Aydin-ab

Copy link
Copy Markdown
Contributor

multi_agent_a2a's requirements.txt pinned fastapi==0.115.12, which (with unsafe-best-match) also dragged starlette to 0.46.2 — below the ray-llm base image (fastapi 0.133.0 / starlette 1.0.1). The build_openai_app LLM app (runtime_env: {}) inherited that downgrade and crashed on multi-node launches, the same class as #906.

The a2a-sdk "conflict" turned out not to be one: a2a-sdk[http-server]==0.3.22 declares fastapi>=0.115.2 and unbounded starlette, so it resolves cleanly against the image versions. The old pin was defensive, not required — no isolation needed.

What changed

  • Pin fastapi==0.133.0 + starlette==1.0.1 (image versions) and recompile the lock.
  • a2a-sdk / protobuf / langchain / langgraph / mcp unchanged; only fastapi + starlette move (plus annotated-doc, a fastapi 0.133 transitive dep).

Testing

./update_deps.sh --name multi_agent_a2a_depset_2.56.0_3.12_cu130 recompiles cleanly. Note: starlette jumps 0.46 → 1.0 (major) for a2a-sdk — its metadata allows it and the base image ships 1.0.1, but the a2a template suite (tests/test_a2a.py, test_agents_sse.py) + the template-probe re-run are the runtime confirmation.

Caveats

PR 2b of the dependency-skew plan (companion to #906). If the a2a suite surfaces a real starlette-1.0 runtime break, the fallback is per-app runtime_env isolation for the a2a deployments.

@Aydin-ab

Copy link
Copy Markdown
Contributor Author

/test-template multi_agent_a2a

requirements.txt pinned fastapi==0.115.12, which (via unsafe-best-match)
also dragged starlette to 0.46.2 — below the ray-llm base image. The
build_openai_app LLM app (runtime_env: {}) inherited that downgrade and
crashed on multi-node launches, the same class as langchain.

a2a-sdk[http-server]==0.3.22 declares fastapi>=0.115.2 and unbounded
starlette, so it resolves cleanly against the image's fastapi 0.133.0 /
starlette 1.0.1 — the old pin was defensive, not required, so no
isolation is needed. Recompiled: only fastapi + starlette move (a2a-sdk,
protobuf, langchain/langgraph/mcp all unchanged).

Claude-Session: https://claude.ai/code/session_01QmLc4yWtmC3PX2NwWzPbzD
Signed-off-by: Aydin Abiar <aydin@anyscale.com>
@Aydin-ab
Aydin-ab force-pushed the fix/multi-agent-a2a-fastapi-skew branch from c2ed165 to 6e0f73a Compare July 22, 2026 00:37
Aydin-ab added a commit that referenced this pull request Jul 22, 2026
Pins the head unschedulable (`CPU: 0`) for batch-7:
`ecommerce_multi_model_serving`, `image-search-and-classification`,
`multi_agent_a2a`, and `object-detection-video-processing` — which
previously ran CPU video re-encoding on an explicit `CPU: 8` head, now
`CPU: 0` so that work lands on the GPU workers.

## Testing
`/test-template` (object-detection validated on GPU CI, buildkite #534
as #923 + re-run here).

## Notes
object-detection was briefly standalone (#923, now closed); folded back
here. multi_agent_a2a's fastapi pin is #907.

https://claude.ai/code/session_01QmLc4yWtmC3PX2NwWzPbzD

Signed-off-by: Aydin Abiar <aydin@anyscale.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.

1 participant