Faster joins: persist to database (#12012)
When we get a partial_state response from send_join, store information in the database about it: * store a record about the room as a whole having partial state, and stash the list of member servers too. * flag the join event itself as having partial state * also, for any new events whose prev-events are partial-stated, note that they will *also* be partial-stated. We don't yet make any attempt to interpret this data, so API calls (and a bunch of other things) are just going to get incorrect data.
Showing
- changelog.d/12012.misc 1 addition, 0 deletionschangelog.d/12012.misc
- synapse/events/snapshot.py 9 additions, 0 deletionssynapse/events/snapshot.py
- synapse/handlers/federation.py 10 additions, 1 deletionsynapse/handlers/federation.py
- synapse/handlers/federation_event.py 11 additions, 2 deletionssynapse/handlers/federation_event.py
- synapse/handlers/message.py 2 additions, 0 deletionssynapse/handlers/message.py
- synapse/state/__init__.py 29 additions, 2 deletionssynapse/state/__init__.py
- synapse/storage/databases/main/events.py 25 additions, 0 deletionssynapse/storage/databases/main/events.py
- synapse/storage/databases/main/events_worker.py 28 additions, 0 deletionssynapse/storage/databases/main/events_worker.py
- synapse/storage/databases/main/room.py 37 additions, 0 deletionssynapse/storage/databases/main/room.py
- synapse/storage/schema/main/delta/68/04partial_state_rooms.sql 41 additions, 0 deletions...se/storage/schema/main/delta/68/04partial_state_rooms.sql
- synapse/storage/schema/main/delta/68/05partial_state_rooms_triggers.py 72 additions, 0 deletions...ge/schema/main/delta/68/05partial_state_rooms_triggers.py
- tests/test_state.py 32 additions, 27 deletionstests/test_state.py
Loading
Please register or sign in to comment