mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 11:26:09 -04:00
Faster joins: add issue links to the TODOs (#13004)
... to help us keep track of these things
This commit is contained in:
parent
97053c9406
commit
7c6b2204d1
9 changed files with 27 additions and 2 deletions
|
@ -388,10 +388,13 @@ class EventsPersistenceStorageController:
|
|||
|
||||
# TODO(faster_joins): get a real stream ordering, to make this work correctly
|
||||
# across workers.
|
||||
# https://github.com/matrix-org/synapse/issues/12994
|
||||
#
|
||||
# TODO(faster_joins): this can race against event persistence, in which case we
|
||||
# will end up with incorrect state. Perhaps we should make this a job we
|
||||
# farm out to the event persister, somehow.
|
||||
# farm out to the event persister thread, somehow.
|
||||
# https://github.com/matrix-org/synapse/issues/13007
|
||||
#
|
||||
stream_id = self.main_store.get_room_max_stream_ordering()
|
||||
await self.persist_events_store.update_current_state(room_id, delta, stream_id)
|
||||
|
||||
|
|
|
@ -452,6 +452,9 @@ class StateStorageController:
|
|||
up to date.
|
||||
"""
|
||||
# FIXME(faster_joins): what do we do here?
|
||||
# https://github.com/matrix-org/synapse/issues/12814
|
||||
# https://github.com/matrix-org/synapse/issues/12815
|
||||
# https://github.com/matrix-org/synapse/issues/13008
|
||||
|
||||
return await self.stores.main.get_partial_current_state_deltas(
|
||||
prev_stream_id, max_stream_id
|
||||
|
|
|
@ -1112,6 +1112,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
|
|||
# this can race with incoming events, so we watch out for FK errors.
|
||||
# TODO(faster_joins): this still doesn't completely fix the race, since the persist process
|
||||
# is not atomic. I fear we need an application-level lock.
|
||||
# https://github.com/matrix-org/synapse/issues/12988
|
||||
try:
|
||||
await self.db_pool.runInteraction(
|
||||
"clear_partial_state_room", self._clear_partial_state_room_txn, room_id
|
||||
|
@ -1119,6 +1120,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
|
|||
return True
|
||||
except self.db_pool.engine.module.DatabaseError as e:
|
||||
# TODO(faster_joins): how do we distinguish between FK errors and other errors?
|
||||
# https://github.com/matrix-org/synapse/issues/12988
|
||||
logger.warning(
|
||||
"Exception while clearing lazy partial-state-room %s, retrying: %s",
|
||||
room_id,
|
||||
|
|
|
@ -435,6 +435,7 @@ class StateGroupWorkerStore(EventsWorkerStore, SQLBaseStore):
|
|||
)
|
||||
|
||||
# TODO(faster_joins): need to do something about workers here
|
||||
# https://github.com/matrix-org/synapse/issues/12994
|
||||
txn.call_after(self.is_partial_state_event.invalidate, (event.event_id,))
|
||||
txn.call_after(
|
||||
self._get_state_group_for_event.prefill,
|
||||
|
|
|
@ -546,6 +546,7 @@ class StateFilter:
|
|||
# the sender of a piece of state wasn't actually in the room, then clearly that
|
||||
# state shouldn't have been returned.
|
||||
# We should at least add some tests around this to see what happens.
|
||||
# https://github.com/matrix-org/synapse/issues/13006
|
||||
|
||||
# if we haven't requested membership events, then it depends on the value of
|
||||
# 'include_others'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue