synapse/tests
Sean Quah 9cae44f49e
Track unconverted device list outbound pokes using a position instead (#14516)
When a local device list change is added to
`device_lists_changes_in_room`, the `converted_to_destinations` flag is
set to `FALSE` and the `_handle_new_device_update_async` background
process is started. This background process looks for unconverted rows
in `device_lists_changes_in_room`, copies them to
`device_lists_outbound_pokes` and updates the flag.

To update the `converted_to_destinations` flag, the database performs a
`DELETE` and `INSERT` internally, which fragments the table. To avoid
this, track unconverted rows using a `(stream ID, room ID)` position
instead of the flag.

From now on, the `converted_to_destinations` column indicates rows that
need converting to outbound pokes, but does not indicate whether the
conversion has already taken place.

Closes #14037.

Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-22 16:46:52 +00:00
..
api Do not reject `/sync` requests with unrecognised filter fields (#14369) 2022-11-07 13:49:31 +00:00
app Use servlets for /key/ endpoints. (#14229) 2022-10-20 11:32:47 -04:00
appservice Merge branch 'master' into develop 2022-10-28 15:59:51 +01:00
config Reload cache factors from disk on SIGHUP (#12673) 2022-05-11 13:43:22 +00:00
crypto Fix /key/v2/server calls with URL-unsafe key IDs (#14490) 2022-11-18 19:56:42 +00:00
events Register homeserver modules when creating test homeserver (#13558) 2022-08-19 16:52:20 +01:00
federation Include heroes in partial join responses' state (#14442) 2022-11-15 17:35:19 +00:00
handlers Fix an invalid comparison of `UserPresenceState` to `str` (#14393) 2022-11-16 15:25:35 +00:00
http Remove redundant types from comments. (#14412) 2022-11-16 15:25:24 +00:00
logging Implementation of HTTP 307 response for MSC3886 POST endpoint (#14018) 2022-10-18 15:52:25 +00:00
metrics Avoid incrementing bg process utime/stime counters by negative durations (#14323) 2022-10-31 13:02:07 +00:00
module_api Fix an invalid comparison of `UserPresenceState` to `str` (#14393) 2022-11-16 15:25:35 +00:00
push Implementation for MSC3664: Pushrules for relations (#11804) 2022-10-25 14:38:01 +01:00
replication Fix an invalid comparison of `UserPresenceState` to `str` (#14393) 2022-11-16 15:25:35 +00:00
rest Batch fetch bundled references (#14508) 2022-11-22 09:41:09 -05:00
scripts Add some type hints to tests files (#12833) 2022-05-23 11:23:26 +00:00
server_notices Remove redundant types from comments. (#14412) 2022-11-16 15:25:24 +00:00
state Fix typechecks against twisted trunk (#13061) 2022-06-15 11:49:58 +01:00
storage Track unconverted device list outbound pokes using a position instead (#14516) 2022-11-22 16:46:52 +00:00
test_utils Support OIDC backchannel logouts (#11414) 2022-10-31 13:07:30 -04:00
util Save login tokens in database (#13844) 2022-10-26 11:45:41 +01:00
__init__.py Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
server.py Support OIDC backchannel logouts (#11414) 2022-10-31 13:07:30 -04:00
test_distributor.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_event_auth.py Rename the `EventFormatVersions` enum values so that they line up with room version numbers. (#13706) 2022-09-07 11:08:20 +01:00
test_federation.py Track when the pulled event signature fails (#13815) 2022-10-03 14:53:29 -05:00
test_mau.py Remove remaining bits of groups code. (#12936) 2022-06-01 09:41:25 -04:00
test_phone_home.py Share some metrics between the Prometheus exporter and the phone home stats (#13671) 2022-09-05 10:26:43 +00:00
test_rust.py Add a stub Rust crate (#12595) 2022-09-06 19:01:37 +01:00
test_server.py Implementation of HTTP 307 response for MSC3886 POST endpoint (#14018) 2022-10-18 15:52:25 +00:00
test_state.py Faster room joins: avoid blocking when pulling events with missing prevs (#13355) 2022-07-26 12:39:23 +01:00
test_terms_auth.py Use literals in place of `HTTPStatus` constants in tests (#13463) 2022-08-05 16:59:09 +02:00
test_test_utils.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_types.py Fix error in `is_mine_id` when encountering a malformed ID (#13746) 2022-09-08 15:54:36 +01:00
test_visibility.py Faster joins: filter out non local events when a room doesn't have its full state (#14404) 2022-11-21 16:46:14 +01:00
unittest.py Remove redundant types from comments. (#14412) 2022-11-16 15:25:24 +00:00
utils.py Update mypy and mypy-zope, attempt 3 (#13993) 2022-09-30 17:36:28 +01:00