MatrixSynapse/tests/storage
Erik Johnston b1433bf231
Don't table scan events on worker startup (#8419)
* Fix table scan of events on worker startup.

This happened because we assumed "new" writers had an initial stream
position of 0, so the replication code tried to fetch all events written
by the instance between 0 and the current position.

Instead, set the initial position of new writers to the current
persisted up to position, on the assumption that new writers won't have
written anything before that point.

* Consider old writers coming back as "new".

Otherwise we'd try and fetch entries between the old stale token and the
current position, even though it won't have written any rows.

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2020-09-29 16:42:19 +01:00
..
__init__.py
test__base.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
test_appservice.py Simplify super() calls to Python 3 syntax. (#8344) 2020-09-18 09:56:44 -04:00
test_background_update.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00
test_base.py Convert additional database methods to async (select list, search, insert_many, delete_*) (#8168) 2020-08-27 07:41:01 -04:00
test_cleanup_extrems.py
test_client_ips.py Allow for make_awaitable's return value to be re-used. (#8261) 2020-09-08 07:26:55 -04:00
test_database.py
test_devices.py Simplify super() calls to Python 3 syntax. (#8344) 2020-09-18 09:56:44 -04:00
test_directory.py
test_e2e_room_keys.py
test_end_to_end_keys.py Rename `get_e2e_device_keys` to better reflect its purpose (#8205) 2020-08-29 00:14:17 +01:00
test_event_federation.py
test_event_metrics.py
test_event_push_actions.py Re-implement unread counts (again) (#8059) 2020-09-02 17:19:37 +01:00
test_id_generators.py Don't table scan events on worker startup (#8419) 2020-09-29 16:42:19 +01:00
test_keys.py
test_main.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00
test_monthly_active_users.py Filter out appservices from mau count (#8404) 2020-09-29 13:11:02 +01:00
test_profile.py
test_purge.py
test_redaction.py
test_registration.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00
test_room.py
test_roommember.py
test_state.py
test_transactions.py
test_user_directory.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00