Skip to content

v0.6.24 — chat search over one plugin host (perf: 38 spawns → 1)#291

Merged
Shooksie merged 1 commit into
mainfrom
release/v0.6.24
Jun 29, 2026
Merged

v0.6.24 — chat search over one plugin host (perf: 38 spawns → 1)#291
Shooksie merged 1 commit into
mainfrom
release/v0.6.24

Conversation

@Shooksie

Copy link
Copy Markdown
Contributor

Problem

chat search timed out (>30s → portal 502) on a tiny store (37 conversations, 81 messages). Root cause: the conversation_store Plugin client spawns + reaps the plugin host (and its PG pool) on every RPC, and search does list + load_messages per conversation — so one search spawned the plugin N+1 = 38 times. The data is trivial; the spawns are the entire cost.

Fix

Add PluginConversationStore::search_async: spawn the host once, handshake once, run list + every load_messages over the live host, reap once. ConversationStoreClient::search dispatches there for the Plugin store; the File store keeps the cheap in-process scan. ~30s → ~1s.

Test

fmt + clippy clean; existing search_conversations test (File path) unchanged.

chat search was O(conversations): the conversation_store Plugin client spawns +
reaps the plugin host (and its PG pool) on EVERY rpc, and search did list +
load_messages-per-conversation, so a search spawned the plugin N+1 times (~30s
for 37 tiny conversations -> portal 502). Add search_async: spawn the host once,
handshake once, run list + every load_messages over the live host, reap once.
The File store keeps the cheap in-process scan. v0.6.24.
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
animus-docs Ready Ready Preview, Comment Jun 29, 2026 10:58pm

Request Review

@Shooksie
Shooksie merged commit 7e1ec9b into main Jun 29, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant