synapse-product/synapse/storage
Brendan Abolivier 855af069a4
Fix instantiation of message retention purge jobs
When figuring out which topological token to start a purge job at, we
need to do the following:

1. Figure out a timestamp before which events will be purged
2. Select the first stream ordering after that timestamp
3. Select info about the first event after that stream ordering
4. Build a topological token from that info

In some situations (e.g. quiet rooms with a short max_lifetime), there
might not be an event after the stream ordering at step 3, therefore we
abort the purge with the error `No event found`. To mitigate that, this
patch fetches the first event _before_ the stream ordering, instead of
after.
2020-01-15 18:56:18 +00:00
..
data_stores Fix instantiation of message retention purge jobs 2020-01-15 18:56:18 +00:00
engines Refuse to start if sqlite is older than 3.11.0 2020-01-09 18:11:04 +00:00
schema Move schema delta files to the correct data store. 2019-10-24 16:45:03 +01:00
util Update black to 19.10b0 (#6304) 2019-11-01 02:43:24 +11:00
__init__.py Move are_all_users_on_domain checks to main data store. 2019-12-06 13:43:40 +00:00
_base.py Add a background update to clear tombstoned rooms from the directory (#6648) 2020-01-07 14:18:43 +00:00
background_updates.py Add a background update to clear tombstoned rooms from the directory (#6648) 2020-01-07 14:18:43 +00:00
database.py Add database config class (#6513) 2019-12-18 10:45:12 +00:00
keys.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
persist_events.py Split state groups into a separate data store (#6296) 2019-12-20 10:48:24 +00:00
prepare_database.py Split state groups into a separate data store (#6296) 2019-12-20 10:48:24 +00:00
presence.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
purge_events.py Split state groups into a separate data store (#6296) 2019-12-20 10:48:24 +00:00
push_rule.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
relations.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
roommember.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
state.py Split state groups into a separate data store (#6296) 2019-12-20 10:48:24 +00:00