element-hq / element-hq/dendrite

Roomserver input handling should be in row-locked transactions

Open
#2,111 0 comments 0 reactions 0 assignees View on GitHub
C-Postgres C-Roomserver T-Task
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.