Skip to content

ADK uses sync client as vertex ai client in VertexAIMemoryBankService - highly degrading performance #4386

@pgaur-chwy

Description

@pgaur-chwy

🔴 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 here

How often has this issue occurred?:

  • Always (100%)
  • Often (50%+)
  • Intermittently (<50%)
  • Once / Rare

Metadata

Metadata

Assignees

No one assigned

    Labels

    services[Component] This issue is related to runtime services, e.g. sessions, memory, artifacts, etc

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions