Problem: Bot froze after only 1 hour of runtime with API timeouts, despite having 4-hour auto-reconnect protection for Drift SDK memory leak. Investigation showed: - Singleton pattern working correctly (reusing same instance) - Hundreds of accountUnsubscribe errors (WebSocket leak) - Container froze at ~1 hour, not 4 hours Root Cause: Drift SDK's memory leak is MORE SEVERE than expected. Even with single instance, subscriptions accumulate faster than anticipated. 4-hour interval too long - system hits memory/connection limits before cleanup. Solution: Reduce auto-reconnect interval to 2 hours (more aggressive). This ensures cleanup happens before critical thresholds reached. Code change (lib/drift/client.ts): - reconnectIntervalMs: 4 hours → 2 hours - Updated log messages to reflect new interval Impact: System now self-heals every 2 hours instead of 4, preventing the freeze that occurred tonight at 1-hour mark. Related: Common Pitfall #1 (Drift SDK memory leak)
16 KiB
16 KiB