Store state groups separately from events (#2784)
* Split state group persist into seperate storage func * Add per database engine code for state group id gen * Move store_state_group to StateReadStore This allows other workers to use it, and so resolve state. * Hook up store_state_group * Fix tests * Rename _store_mult_state_groups_txn * Rename StateGroupReadStore * Remove redundant _have_persisted_state_group_txn * Update comments * Comment compute_event_context * Set start val for state_group_id_seq ... otherwise we try to recreate old state groups * Update comments * Don't store state for outliers * Update comment * Update docstring as state groups are ints
Showing
- synapse/events/snapshot.py 3 additions, 1 deletionsynapse/events/snapshot.py
- synapse/handlers/federation.py 17 additions, 7 deletionssynapse/handlers/federation.py
- synapse/replication/slave/storage/events.py 2 additions, 2 deletionssynapse/replication/slave/storage/events.py
- synapse/state.py 49 additions, 7 deletionssynapse/state.py
- synapse/storage/__init__.py 0 additions, 1 deletionsynapse/storage/__init__.py
- synapse/storage/engines/postgres.py 6 additions, 0 deletionssynapse/storage/engines/postgres.py
- synapse/storage/engines/sqlite3.py 19 additions, 0 deletionssynapse/storage/engines/sqlite3.py
- synapse/storage/events.py 4 additions, 6 deletionssynapse/storage/events.py
- synapse/storage/schema/delta/47/state_group_seq.py 37 additions, 0 deletionssynapse/storage/schema/delta/47/state_group_seq.py
- synapse/storage/state.py 100 additions, 96 deletionssynapse/storage/state.py
- tests/replication/slave/storage/test_events.py 1 addition, 3 deletionstests/replication/slave/storage/test_events.py
- tests/test_state.py 88 additions, 66 deletionstests/test_state.py
Loading
Please register or sign in to comment