opencode
opencode copied to clipboard
Fix race condition in concurrent session deletion
Fixes race condition in concurrent session deletion where multiple DELETE requests to /session/{id} return success but don't reliably persist all deletions.
Changes
- Add write lock to Storage.remove for thread safety
- Add session-level locking in Session.remove to prevent concurrent deletions
Testing
The fix addresses the root cause identified in issue #5517 by ensuring:
- Only one deletion process runs per session at a time
- All storage operations are properly synchronized
- Concurrent DELETE requests are handled atomically
Closes #5517