element-hq / element-hq/dendrite
Roomserver input handling should be in row-locked transactions
- Dominant language
- Go
- Stars
- 965
- Forks
- 101
- PR merge metrics
- No merged PRs in 30d
Description
*This issue was originally created by [**@neilalexander**](https://github.com/neilalexander) at .*
... so that we don't end up stuck in situations where we get missing event NID errors in the database because we got half way through processing missing events or state when the server loses power or crashes or something.
We can look into this after #2104 is merged.
Contributor guide
Research direction
Start by reviewing the roomserver input-handling path and issue #2104, which this work depends on. Trace how missing events or state are processed and identify where a crash could leave missing event NID errors; done means those operations use row-locked transactions and avoid partially committed processing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100