DefaultRequestHandler (v2) ignores queue_manager, so the per-task event queue bound (1,024) cannot be configured
Los mantenedores suelen responder en 2 días
@ishymko ya está trabajando en esto.
Desde el 15/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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).
- Lenguaje dominante
- Python
- Estrellas
- 2.2k
- Forks
- 511
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 46
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de a2aproject/a2a-python
-
[Bug]: REST task/request id sanitizationPosiblemente ocupada @Linux2010 la tomó hace 111 días. Abiertomaintainers-only
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
a2aproject/a2a-python#805 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
[Bug]: Client transports reject responses with unrecognized fields (spec 5.7)Posiblemente ocupada @rohityan la tomó hace 2 días. Abierto
a2aproject/a2a-python#1341 · 1 comentario · 2 asignados ·
Los mantenedores suelen responder en 2 días
-
[Bug]: Agent card signature verification raises raw binascii.Error on a malformed protected header instead of SignatureVerificationErrorPosiblemente ocupada @rohityan la tomó hace 7 días. Abiertocomponent: core status:awaiting response
a2aproject/a2a-python#1332 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
[Bug]: Framework-written FAILED status drops status.timestamp, persisting last_updated as NULLPosiblemente ocupada @Linux2010 la tomó hace 2 días. Abiertocomponent: server status:awaiting response
a2aproject/a2a-python#1331 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
[Bug]: message/send hangs forever when the AgentExecutor returns without producing eventsPosiblemente ocupada @Linux2010 la tomó hace 2 días. Abiertocomponent: server status:awaiting response
a2aproject/a2a-python#1330 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
Todos los issues de a2aproject/a2a-python
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
cellrishi-code/claude-skills-atlas#165 ·
Los mantenedores suelen responder en 1 día
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
open-webui/open-webui#32635 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Filters: ?field:ne=null matches NULL rows instead of non-NULL onesPosiblemente ocupada @rshdhere la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Netflix/metaflow-service#504 ·
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
gke-labs/kube-agents#3394 ·
Los mantenedores suelen responder en 1 día
-
A2A audit timestamps end in +00:00Z (invalid ISO 8601)Posiblemente ocupada @O1sumitkumar la tomó hoy. Abiertobug good first issue help wanted python
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día