-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Description
🔴 Required Information
Describe the Bug:
ADK uses sync client as vertex ai client in VertexAIMemoryBankService. There is no way to override the client to async client.
Typical use case for MemoryBankService as Long term memory involves searching memories as part of a callback.
This search blocks the event loop, highly degrading performance of ADK.
Steps to Reproduce:
Depends on the setup.
Code reference here.
Expected Behavior:
Instead of client.agent_engine... , there should be a way for clients to search memories asynchronously via client.aio.agent_engine...
Observed Behavior:
While performing load testing, we noticed ADK throwing "Failed to fetch MCP tools" errors repeatedly.
Further investigation showed, search_memory is being called synchronously and blocking event loop
Environment Details:
- ADK Library Version (pip show google-adk):
- Desktop OS:** [e.g., macOS, Linux, Windows]
- Python Version (python -V):
Model Information:
- Are you using LiteLLM: Yes/No
- Which model is being used: (e.g., gemini-2.5-pro)
🟡 Optional Information
Providing this information greatly speeds up the resolution process.
Regression:
Did this work in a previous version of ADK? If so, which one?
Logs:
Please attach relevant logs. Wrap them in code blocks (```) or attach a
text file.
// Paste logs here
Screenshots / Video:
If applicable, add screenshots or screen recordings to help explain
your problem.
Additional Context:
Add any other context about the problem here.
Minimal Reproduction Code:
Please provide a code snippet or a link to a Gist/repo that isolates the issue.
// Code snippet hereHow often has this issue occurred?:
- Always (100%)
- Often (50%+)
- Intermittently (<50%)
- Once / Rare