Problem
Single chat requests sometimes create multiple duplicate sessions when AI processing is slow.
Root Cause Analysis
- Race conditions in session creation during long AI loops
- Pending session reuse logic may fail under load
- Transient caching might not prevent parallel processing
- Session state updates during processing cause conflicts
Steps to Reproduce
- Send single message triggering slow AI processing
- Check database - multiple sessions created from one request
Expected Behavior
- One request = one session, regardless of processing time
- Robust deduplication prevents any duplication
Technical Details
- Backend checks for pending sessions but may have race conditions
- Request ID caching exists but timing issues possible
- Database: wp_datamachine_chat_sessions table updates
Proposed Solutions
- Fix race conditions in
Chat::handle_chat() session creation
- Improve pending session detection logic
- Add database-level uniqueness constraints
- Better atomic session state management
- Add comprehensive logging for duplication tracking
Problem
Single chat requests sometimes create multiple duplicate sessions when AI processing is slow.
Root Cause Analysis
Steps to Reproduce
Expected Behavior
Technical Details
Proposed Solutions
Chat::handle_chat()session creation