a2aproject / a2aproject/a2a-samples
A2A Client Timeout Error in Multi-Agent System
- Dominant language
- Jupyter Notebook
- Stars
- 1.8k
- Forks
- 751
- PR merge metrics
- No merged PRs in 30d
Description
### What happened?
The multi-agent Airbnb planner application encounters a timeout error when the host agent attempts to communicate with remote agents (Airbnb and Weather agents). The error occurs in the `get_response_from_agent` function and results in an `A2AClientTimeoutError`.
**Expected behavior:** The host agent should successfully communicate with remote agents and receive responses within the timeout period.
**Actual behavior:** The client request times out, causing the entire agent interaction to fail.
## How to reproduce
1. Set up the multi-agent system following the README instructions
2. Start all three agents (airbnb_agent, weather_agent, host_agent)
3. Send a request through the host agent that requires communication with remote agents
4. The timeout error occurs during agent-to-agent communication
## Environment
- **Python Version:** 3.13
- **A2A SDK Version:** (from requirements)
- **Operating System:** macOS
- **Project:** airbnb_planner_multiagent sample
## Root Cause Analysis
The error originates from:
1. `httpcore.ReadTimeout` in the HTTP transport layer
2. Propagates through `httpx.ReadTimeout`
3. Finally caught and re-raised as `A2AClientTimeoutError` in the A2A client
The timeout occurs during the `send_message` operation between the host agent and remote agents via JSON-RPC transport.
### Relevant log output
```shell
Error in get_response_from_agent (Type: ): Timeout Error: Client Request timed out
Traceback (most recent call last):
File "/Users/user/a2a/a2a-samples/samples/python/.venv/lib/python3.13/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
yield
File "/Users/user/a2a/a2a-samples/samples/python/.venv/lib/python3.13/site-packages/httpx/_transports/default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
[... full stack trace continues ...]
File "/Users/user/a2a/a2a-samples/samples/python/.venv/lib/python3.13/site-packages/a2a/client/transports/jsonrpc.py", line 190, in _send_request
raise A2AClientTimeoutError('Client Request timed out') from e
a2a.client.errors.A2AClientTimeoutError: Timeout Error: Client Request timed out
```
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
The issue is in the `get_response_from_agent` function and the JSON-RPC transport layer (`a2a/client/transports/jsonrpc.py`, line 190). Start by examining the sample project `airbnb_planner_multiagent` to understand the agent setup and communication flow. Look at the timeout configuration in the A2A client and the network conditions between the host and remote agents. 'Done' means the host agent can communicate with the Airbnb and Weather agents without timing out.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100