mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 11:06:07 -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
|
@ -18,6 +18,7 @@ from mock import Mock
|
|||
from twisted.internet import defer
|
||||
|
||||
from synapse.handlers.appservice import ApplicationServicesHandler
|
||||
from synapse.types import RoomStreamToken
|
||||
|
||||
from tests.test_utils import make_awaitable
|
||||
from tests.utils import MockClock
|
||||
|
@ -61,7 +62,9 @@ class AppServiceHandlerTestCase(unittest.TestCase):
|
|||
defer.succeed((0, [event])),
|
||||
defer.succeed((0, [])),
|
||||
]
|
||||
yield defer.ensureDeferred(self.handler.notify_interested_services(0))
|
||||
yield defer.ensureDeferred(
|
||||
self.handler.notify_interested_services(RoomStreamToken(None, 0))
|
||||
)
|
||||
self.mock_scheduler.submit_event_for_as.assert_called_once_with(
|
||||
interested_service, event
|
||||
)
|
||||
|
@ -80,7 +83,9 @@ class AppServiceHandlerTestCase(unittest.TestCase):
|
|||
defer.succeed((0, [event])),
|
||||
defer.succeed((0, [])),
|
||||
]
|
||||
yield defer.ensureDeferred(self.handler.notify_interested_services(0))
|
||||
yield defer.ensureDeferred(
|
||||
self.handler.notify_interested_services(RoomStreamToken(None, 0))
|
||||
)
|
||||
self.mock_as_api.query_user.assert_called_once_with(services[0], user_id)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
@ -97,7 +102,9 @@ class AppServiceHandlerTestCase(unittest.TestCase):
|
|||
defer.succeed((0, [event])),
|
||||
defer.succeed((0, [])),
|
||||
]
|
||||
yield defer.ensureDeferred(self.handler.notify_interested_services(0))
|
||||
yield defer.ensureDeferred(
|
||||
self.handler.notify_interested_services(RoomStreamToken(None, 0))
|
||||
)
|
||||
self.assertFalse(
|
||||
self.mock_as_api.query_user.called,
|
||||
"query_user called when it shouldn't have been.",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue