fix(multi_agent_a2a): pin fastapi/starlette to base image#907
Open
Aydin-ab wants to merge 1 commit into
Open
Conversation
This was referenced Jul 18, 2026
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
force-pushed
the
fix/multi-agent-a2a-fastapi-skew
branch
from
July 22, 2026 00:37
c2ed165 to
6e0f73a
Compare
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>
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.
multi_agent_a2a'srequirements.txtpinnedfastapi==0.115.12, which (withunsafe-best-match) also dragged starlette to 0.46.2 — below the ray-llm base image (fastapi 0.133.0 / starlette 1.0.1). Thebuild_openai_appLLM 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.22declaresfastapi>=0.115.2and unboundedstarlette, so it resolves cleanly against the image versions. The old pin was defensive, not required — no isolation needed.What changed
fastapi==0.133.0+starlette==1.0.1(image versions) and recompile the lock.annotated-doc, a fastapi 0.133 transitive dep).Testing
./update_deps.sh --name multi_agent_a2a_depset_2.56.0_3.12_cu130recompiles 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) + thetemplate-probere-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_envisolation for the a2a deployments.