Summary
After updating to OpenClaw 2026.2.17, qmd embed runs on a 5-minute interval for all configured agents (not just the default agent, per #17663 fix). On CPU-only hardware (DigitalOcean VPS, AMD CPU, no GPU), the embed operation cannot complete within the 120s timeout. This results in continuous timeout failures every 5 minutes per agent.
Before 2026.2.17: Zero qmd embed failures. QMD search (BM25) and update worked fine.
After 2026.2.17: 208+ embed timeout failures in a single day. Every 5 minutes, both agents fail.
Steps to Reproduce
- Configure
memory.backend: "qmd" with 2+ agents on a CPU-only VPS
- Update to 2026.2.17
- Observe logs:
[memory] qmd embed failed (interval): Error: qmd embed timed out after 120000ms every 5 minutes per agent
Impact
- Log spam: 200+ timeout errors per day
- Potential event loop blocking: 120s timeout operations may degrade gateway responsiveness, causing downstream failures (cron delivery timeouts, tool call delays)
- Wasted CPU cycles: Each embed attempt loads a 328MB GGUF model and attempts to process the full corpus before timing out
Environment
- OpenClaw 2026.2.17
- QMD 1.0.7
- Ubuntu 24.04, AMD CPU, 8GB RAM, no GPU
- 2 agents configured
searchMode defaults to search (BM25) — embed output is not consumed
Expected Behavior
One or more of:
- Skip embed on CPU-only hardware if the operation consistently times out (adaptive backoff)
- Provide
embedInterval: 0 or embed: false config option to disable embed while keeping qmd update (BM25 indexing) active
- Do not run embed on interval if
searchMode is search (BM25 does not use vector embeddings)
- Exponential backoff on embed failures instead of retrying at the same fixed interval
Notes
qmd update (BM25 indexing) works perfectly — 300ms, no issues
qmd search (BM25) works perfectly — sub-second results
qmd vsearch (vector) works but takes ~16s per query on CPU — functional but slow
qmd embed (batch vector indexing) cannot complete within 120s on CPU
- The embed interval was not running before 2026.2.17 for non-default agents, so this is a regression in observable behavior
Summary
After updating to OpenClaw 2026.2.17,
qmd embedruns on a 5-minute interval for all configured agents (not just the default agent, per #17663 fix). On CPU-only hardware (DigitalOcean VPS, AMD CPU, no GPU), the embed operation cannot complete within the 120s timeout. This results in continuous timeout failures every 5 minutes per agent.Before 2026.2.17: Zero
qmd embedfailures. QMD search (BM25) and update worked fine.After 2026.2.17: 208+ embed timeout failures in a single day. Every 5 minutes, both agents fail.
Steps to Reproduce
memory.backend: "qmd"with 2+ agents on a CPU-only VPS[memory] qmd embed failed (interval): Error: qmd embed timed out after 120000msevery 5 minutes per agentImpact
Environment
searchModedefaults tosearch(BM25) — embed output is not consumedExpected Behavior
One or more of:
embedInterval: 0orembed: falseconfig option to disable embed while keepingqmd update(BM25 indexing) activesearchModeissearch(BM25 does not use vector embeddings)Notes
qmd update(BM25 indexing) works perfectly — 300ms, no issuesqmd search(BM25) works perfectly — sub-second resultsqmd vsearch(vector) works but takes ~16s per query on CPU — functional but slowqmd embed(batch vector indexing) cannot complete within 120s on CPU