You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The warn-mode logging was working as designed. The real issue was that we (the agent) were not monitoring gateway logs as part of routine self-checks. The warnings about session store size would have been visible in the logs well before the file reached 61 MB.
Lesson Learned
Regularly check gateway logs (~/.openclaw/logs/gateway/) for warnings and errors — not just when things break. The observability is already there; it just needs to be consumed.
Closing as the existing mechanisms are sufficient. The JSON5 parse performance fix (#14530) was merged separately as a worthwhile optimization.
Resolved — existing mechanisms are sufficient
After investigating the source code, the codebase already has adequate protections:
Existing Mechanisms
src/cron/session-reaper.ts) — auto-prunes completed cron run sessions after 24h (default)src/config/sessions/store.ts):pruneStaleEntries()— removes entries older than 30 dayscapEntryCount()— caps at 500 entriesrotateSessionFile()— rotates at 10 MB"warn"— logs warnings when thresholds are exceededJSON.parseis ~35x faster)Root Cause of Our Incident
The warn-mode logging was working as designed. The real issue was that we (the agent) were not monitoring gateway logs as part of routine self-checks. The warnings about session store size would have been visible in the logs well before the file reached 61 MB.
Lesson Learned
Regularly check gateway logs (
~/.openclaw/logs/gateway/) for warnings and errors — not just when things break. The observability is already there; it just needs to be consumed.Closing as the existing mechanisms are sufficient. The JSON5 parse performance fix (#14530) was merged separately as a worthwhile optimization.