synapse/tests/storage
Erik Johnston 8de3703d21
Make event persisters periodically announce position over replication. (#8499)
Currently background proccesses stream the events stream use the "minimum persisted position" (i.e. `get_current_token()`) rather than the vector clock style tokens. This is broadly fine as it doesn't matter if the background processes lag a small amount. However, in extreme cases (i.e. SyTests) where we only write to one event persister the background processes will never make progress.

This PR changes it so that the `MultiWriterIDGenerator` keeps the current position of a given instance as up to date as possible (i.e using the latest token it sees if its not in the process of persisting anything), and then periodically announces that over replication. This then allows the "minimum persisted position" to advance, albeit with a small lag.
2020-10-12 15:51:41 +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 Add logging on startup/shutdown (#8448) 2020-10-02 15:20:45 +01:00
test_background_update.py Do not yield on awaitables in tests. (#8193) 2020-08-27 17:24:46 -04:00
test_base.py Reduce serialization errors in MultiWriterIdGen (#8456) 2020-10-07 15:15:57 +01: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 Rewrite BucketCollector 2020-09-30 16:49:15 +01:00
test_event_push_actions.py Re-implement unread counts (again) (#8059) 2020-09-02 17:19:37 +01:00
test_id_generators.py Make event persisters periodically announce position over replication. (#8499) 2020-10-12 15:51:41 +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 Make token serializing/deserializing async (#8427) 2020-09-30 20:29:19 +01: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