mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-19 15:44:11 -04:00
Fix not sending events over federation when using sharded event persisters (#8536)
* Fix outbound federaion with multiple event persisters. We incorrectly notified federation senders that the minimum persisted stream position had advanced when we got an `RDATA` from an event persister. Notifying of federation senders already correctly happens in the notifier, so we just delete the offending line. * Change some interfaces to use RoomStreamToken. By enforcing use of `RoomStreamTokens` we make it less likely that people pass in random ints that they got from somewhere random.
This commit is contained in:
parent
3ee97a2748
commit
921a3f8a59
10 changed files with 51 additions and 21 deletions
|
@ -319,19 +319,19 @@ class Notifier:
|
|||
)
|
||||
|
||||
if self.federation_sender:
|
||||
self.federation_sender.notify_new_events(max_room_stream_token.stream)
|
||||
self.federation_sender.notify_new_events(max_room_stream_token)
|
||||
|
||||
async def _notify_app_services(self, max_room_stream_token: RoomStreamToken):
|
||||
try:
|
||||
await self.appservice_handler.notify_interested_services(
|
||||
max_room_stream_token.stream
|
||||
max_room_stream_token
|
||||
)
|
||||
except Exception:
|
||||
logger.exception("Error notifying application services of event")
|
||||
|
||||
async def _notify_pusher_pool(self, max_room_stream_token: RoomStreamToken):
|
||||
try:
|
||||
await self._pusher_pool.on_new_notifications(max_room_stream_token.stream)
|
||||
await self._pusher_pool.on_new_notifications(max_room_stream_token)
|
||||
except Exception:
|
||||
logger.exception("Error pusher pool of event")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue