synapse/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 Reference Matrix Home Server 2014-08-12 15:10:52 +01:00
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 Reduce run-times of tests by advancing the reactor less (#7757) 2020-08-27 11:39:53 +01:00
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 bg update to clear out duplicate outbound_device_list_pokes (#7193) 2020-04-07 23:06:39 +01:00
test_devices.py Simplify super() calls to Python 3 syntax. (#8344) 2020-09-18 09:56:44 -04:00
test_directory.py Convert simple_update* and simple_select* to async (#8173) 2020-08-27 07:08:38 -04:00
test_e2e_room_keys.py add etag and count to key backup endpoints (#5858) 2019-11-27 16:14:44 -05:00
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 Rename database classes to make some sense (#8033) 2020-08-05 21:38:57 +01:00
test_event_metrics.py Add a shadow-banned flag to users. (#8092) 2020-08-14 12:37:59 -04:00
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 Type defintions for use in refactoring for redaction changes (#6803) 2020-01-30 11:25:59 +00:00
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 Convert simple_select_one and simple_select_one_onecol to async (#8162) 2020-08-26 07:19:32 -04:00
test_purge.py Convert stream database to async/await. (#8074) 2020-08-17 07:24:46 -04:00
test_redaction.py Add an assertion on prev_events in create_new_client_event (#8041) 2020-08-10 12:29:47 +01:00
test_registration.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00
test_room.py Convert simple_select_one and simple_select_one_onecol to async (#8162) 2020-08-26 07:19:32 -04:00
test_roommember.py Reduce run-times of tests by advancing the reactor less (#7757) 2020-08-27 11:39:53 +01:00
test_state.py Convert some of the data store to async. (#7976) 2020-07-30 07:20:41 -04:00
test_transactions.py Fix errors storing large retry intervals. 2019-10-02 10:36:27 +01:00
test_user_directory.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00