DefaultRequestHandler (v2) ignores queue_manager, so the per-task event queue bound (1,024) cannot be configured
Les mainteneurs répondent en général sous 2 jours
@ishymko y travaille déjà.
Depuis le 15/10/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
Summary
Passing a queue_manager to DefaultRequestHandler produces
DeprecationWarning: A queue_manager was passed to DefaultRequestHandlerV2, but it is not used: v2 delegates
event streaming to an in-memory ActiveTaskRegistry, so custom or distributed QueueManager implementations
are ignored. ...
ActiveTask then builds its queues with the module default (EventQueueSource() /
DEFAULT_MAX_QUEUE_SIZE = 1024), and nothing on DefaultRequestHandler, ActiveTaskRegistry or
ActiveTask lets an application change it.
Why it matters
The bounded queue is what gives a streaming server backpressure: when a client connects and stops reading, the
queue fills, the producer (the agent executor) blocks and stops pulling tokens from the model, and a slow
subscriber is evicted. We verified this end to end and it works well. But 1,024 events is a fixed trade-off:
- a deployment streaming single tokens may want a smaller bound (less memory per stalled client, faster
eviction); one streaming large chunks may want a different one; - with many concurrent tasks the worst-case memory is
tasks x 1,024 x event size, which the operator cannot
tune.
Evidence
A client that opens POST /message:stream and never reads, against an agent producing 300,000 small events with
no delay: the SDK evicts the stalled sink ("queue full at delivery time"), process memory stays flat (about
80 MB), the server keeps answering other callers, and the task ends at its own deadline. So the mechanism is
sound; only its size is fixed.
Suggested change
Accept an optional size where the queues are created, for example DefaultRequestHandler(..., max_event_queue_size: int = DEFAULT_MAX_QUEUE_SIZE) passed to ActiveTaskRegistry and on to
EventQueueSource. Keep the default so nothing changes for existing users.
Environment
a2a-sdk 1.2.1 and 1.2.2, Python 3.11 to 3.13, FastAPI/Starlette routes via create_jsonrpc_routes and
create_rest_routes.
Found while building slow-consumer backpressure tests for a downstream adapter (lemonade-a2a).
- Langage dominant
- Python
- Étoiles
- 2.2k
- Forks
- 511
- Merge moyen
- 3 j 2 h
- PR mergées (30 j)
- 46
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de a2aproject/a2a-python
-
[Bug]: REST task/request id sanitizationPeut-être pris @Linux2010 l’a pris il y a 111 jours. Ouvertemaintainers-only
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
a2aproject/a2a-python#805 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
[Bug]: Client transports reject responses with unrecognized fields (spec 5.7)Peut-être pris @rohityan l’a pris il y a 2 jours. Ouverte
a2aproject/a2a-python#1341 · 1 commentaire · 2 personnes assignées ·
Les mainteneurs répondent en général sous 2 jours
-
[Bug]: Agent card signature verification raises raw binascii.Error on a malformed protected header instead of SignatureVerificationErrorPeut-être pris @rohityan l’a pris il y a 7 jours. Ouvertecomponent: core status:awaiting response
a2aproject/a2a-python#1332 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
[Bug]: Framework-written FAILED status drops status.timestamp, persisting last_updated as NULLPeut-être pris @Linux2010 l’a pris il y a 2 jours. Ouvertecomponent: server status:awaiting response
a2aproject/a2a-python#1331 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
[Bug]: message/send hangs forever when the AgentExecutor returns without producing eventsPeut-être pris @Linux2010 l’a pris il y a 2 jours. Ouvertecomponent: server status:awaiting response
a2aproject/a2a-python#1330 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de a2aproject/a2a-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
cellrishi-code/claude-skills-atlas#165 ·
Les mainteneurs répondent en général sous 1 jour
-
bug confirmed issue
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
open-webui/open-webui#32635 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Filters: ?field:ne=null matches NULL rows instead of non-NULL onesPeut-être pris @rshdhere l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Netflix/metaflow-service#504 ·
-
needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
gke-labs/kube-agents#3394 ·
Les mainteneurs répondent en général sous 1 jour
-
A2A audit timestamps end in +00:00Z (invalid ISO 8601)Peut-être pris @O1sumitkumar l’a pris aujourd’hui. Ouvertebug good first issue help wanted python
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour