a2aproject / a2aproject/a2a-samples

A2A Client Timeout Error in Multi-Agent System

Open
#346 5 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.