Skip to content

Conversation

@gordonbrander
Copy link
Contributor

These can be anything, including short notes. The original internet RFCs were basically short emails expressing ideas in free form.

These can be anything, including short notes
@gordonbrander gordonbrander merged commit 9eb1307 into main May 13, 2024
willkelly pushed a commit to willkelly/labs that referenced this pull request Nov 13, 2025
This report explains the application-level queue deadlock that occurs
when subscriber notifications try to query the database while a
transaction is still holding the perform() queue lock.

Key findings:
- NOT a database-level deadlock (SQLite transaction completes first)
- Application-level queue deadlock (perform() queue circular dependency)
- Bypass is safe with single connection (no race conditions possible)
- Would become more complex with WAL mode + read connection pool

The report includes:
- Step-by-step call stack showing the circular dependency
- Visual diagrams of the deadlock scenario
- Explanation of why the bypass works
- Analysis of root cause (synchronous subscriber notifications)
- Recommendations for architectural improvements
- Implications for future WAL mode implementation

This clarifies question commontoolsinc#4 from the original investigation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants