MatrixSynapse/tests/storage
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
..
databases Fix background updates failing to add unique indexes on receipts (#14453) 2022-11-16 15:01:22 +00:00
util
__init__.py
test__base.py
test_account_data.py
test_appservice.py
test_background_update.py
test_base.py
test_cleanup_extrems.py
test_client_ips.py
test_database.py
test_devices.py Track unconverted device list outbound pokes using a position instead (#14516) 2022-11-22 16:46:52 +00:00
test_directory.py
test_e2e_room_keys.py
test_end_to_end_keys.py
test_event_chain.py
test_event_federation.py Stop getting missing `prev_events` after we already know their signature is invalid (#13816) 2022-10-15 00:36:49 -05:00
test_event_metrics.py
test_event_push_actions.py Use threaded receipts when fetching events for push. (#13878) 2022-10-04 12:07:02 -04:00
test_events.py
test_id_generators.py Reintroduce #14376, with bugfix for monoliths (#14468) 2022-11-16 22:16:46 +00:00
test_keys.py
test_main.py
test_monthly_active_users.py Update mypy and mypy-zope, attempt 3 (#13993) 2022-09-30 17:36:28 +01:00
test_profile.py
test_purge.py
test_receipts.py
test_redaction.py
test_registration.py Allow admins to require a manual approval process before new accounts can be used (using MSC3866) (#13556) 2022-09-29 15:23:24 +02:00
test_relations.py Accept threaded receipts for events related to the root event. (#14174) 2022-10-14 18:05:25 +00:00
test_rollback_worker.py
test_room.py
test_room_search.py Drop support for Postgres 10 in full text search code. (#14397) 2022-11-09 09:55:34 -05:00
test_roommember.py
test_state.py
test_stream.py Support filtering the /messages API by relation type (MSC3874). (#14148) 2022-10-17 11:32:11 -04:00
test_transactions.py
test_txn_limit.py
test_unsafe_locale.py
test_user_directory.py