forked from MirrorHub/synapse
Fix using MSC2716 batch sending with event persistence workers (#11220)
Signed-off-by: Tulir Asokan <tulir@beeper.com>
This commit is contained in:
parent
dc0a3cd596
commit
7b4e228e41
3 changed files with 8 additions and 0 deletions
1
changelog.d/11220.bugfix
Normal file
1
changelog.d/11220.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Fix using MSC2716 batch sending in combination with event persistence workers. Contributed by @tulir at Beeper.
|
|
@ -113,6 +113,7 @@ from synapse.storage.databases.main.monthly_active_users import (
|
||||||
)
|
)
|
||||||
from synapse.storage.databases.main.presence import PresenceStore
|
from synapse.storage.databases.main.presence import PresenceStore
|
||||||
from synapse.storage.databases.main.room import RoomWorkerStore
|
from synapse.storage.databases.main.room import RoomWorkerStore
|
||||||
|
from synapse.storage.databases.main.room_batch import RoomBatchStore
|
||||||
from synapse.storage.databases.main.search import SearchStore
|
from synapse.storage.databases.main.search import SearchStore
|
||||||
from synapse.storage.databases.main.session import SessionStore
|
from synapse.storage.databases.main.session import SessionStore
|
||||||
from synapse.storage.databases.main.stats import StatsStore
|
from synapse.storage.databases.main.stats import StatsStore
|
||||||
|
@ -240,6 +241,7 @@ class GenericWorkerSlavedStore(
|
||||||
SlavedEventStore,
|
SlavedEventStore,
|
||||||
SlavedKeyStore,
|
SlavedKeyStore,
|
||||||
RoomWorkerStore,
|
RoomWorkerStore,
|
||||||
|
RoomBatchStore,
|
||||||
DirectoryStore,
|
DirectoryStore,
|
||||||
SlavedApplicationServiceStore,
|
SlavedApplicationServiceStore,
|
||||||
SlavedRegistrationStore,
|
SlavedRegistrationStore,
|
||||||
|
|
|
@ -322,6 +322,11 @@ class _AsyncEventContextImpl(EventContext):
|
||||||
attributes by loading from the database.
|
attributes by loading from the database.
|
||||||
"""
|
"""
|
||||||
if self.state_group is None:
|
if self.state_group is None:
|
||||||
|
# No state group means the event is an outlier. Usually the state_ids dicts are also
|
||||||
|
# pre-set to empty dicts, but they get reset when the context is serialized, so set
|
||||||
|
# them to empty dicts again here.
|
||||||
|
self._current_state_ids = {}
|
||||||
|
self._prev_state_ids = {}
|
||||||
return
|
return
|
||||||
|
|
||||||
current_state_ids = await self._storage.state.get_state_ids_for_group(
|
current_state_ids = await self._storage.state.get_state_ids_for_group(
|
||||||
|
|
Loading…
Reference in a new issue