mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-23 06:24:16 -04:00
Optimise _get_state_after_missing_prev_event
: use /state
(#12040)
If we're missing most of the events in the room state, then we may as well call the /state endpoint, instead of individually requesting each and every event.
This commit is contained in:
parent
e4409301ba
commit
9b43df1f7b
4 changed files with 268 additions and 9 deletions
|
@ -22,7 +22,6 @@ from typing import (
|
|||
Dict,
|
||||
Iterable,
|
||||
List,
|
||||
NoReturn,
|
||||
Optional,
|
||||
Set,
|
||||
Tuple,
|
||||
|
@ -1330,10 +1329,9 @@ class EventsWorkerStore(SQLBaseStore):
|
|||
return results
|
||||
|
||||
@cached(max_entries=100000, tree=True)
|
||||
async def have_seen_event(self, room_id: str, event_id: str) -> NoReturn:
|
||||
# this only exists for the benefit of the @cachedList descriptor on
|
||||
# _have_seen_events_dict
|
||||
raise NotImplementedError()
|
||||
async def have_seen_event(self, room_id: str, event_id: str) -> bool:
|
||||
res = await self._have_seen_events_dict(((room_id, event_id),))
|
||||
return res[(room_id, event_id)]
|
||||
|
||||
def _get_current_state_event_counts_txn(
|
||||
self, txn: LoggingTransaction, room_id: str
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue