- May 06, 2020
-
-
Patrick Cloke authored
-
Andrew Morgan authored
-
Richard van der Hoff authored
For the record, the reason we need this is as follows: each RDATA command comes down the redis pipe as a subscription message. txredisapi as written needs at least three reactor ticks to read each subscription message from the tcp buffer. Hence, once the process gets loaded, it starts getting behind, and eventually redis knifes the connection. it then takes ages for the master to work its way through the backlog, before it reconnects again, during which any commands from any workers are dropped.
-
Andrew Morgan authored
-
Erik Johnston authored
Speed up fetching device lists changes in sync.
-
Richard van der Hoff authored
Fix lost events on replication reconnection
-
- May 05, 2020
-
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
... otherwise we can believe we're up to date when we're not.
-
Brendan Abolivier authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Erik Johnston authored
-
Erik Johnston authored
Currently we copy `users_who_share_room` needlessly about three times, which is expensive when the set is large (which it can easily be).
-
Patrick Cloke authored
-
Erik Johnston authored
This caused `prev_state_ids` to be incorrect if the state event was not replacing an existing state entry.
-
- May 04, 2020
-
-
Brendan Abolivier authored
-
Brendan Abolivier authored
Fix MANIFEST.in
-
Brendan Abolivier authored
An update of check-manifest shone some light on some issues with MANIFEST.in, specifically that we didn't ignore/prune the contrib directory, and that we were using prune instead of exclude for files. This fixes both issues. Fixes #7403
-
Erik Johnston authored
We forgot to set the password on the subscriber connection, as well as not calling super methods for overridden connectionMade/connectionLost functions.
-
- May 01, 2020
-
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Richard van der Hoff authored
populate_stats_process_rooms was added in #5971 / v1.4.0; current_state_events_membership was added in #5706 / v1.3.0. Fixes #7380.
-
Erik Johnston authored
For in memory streams when fetching updates on workers we need to query the source of the stream, which currently is hard coded to be master. This PR threads through the source instance we received via `POSITION` through to the update function in each stream, which can then be passed to the replication client for in memory streams.
-
Erik Johnston authored
We move the processing of typing and federation replication traffic into their handlers so that `Stream.current_token()` points to a valid token. This allows us to remove `get_streams_to_replicate()` and `stream_positions()`.
-
Andrew Morgan authored
-
Andrew Morgan authored
Further improvements to requesting the public rooms list on a homeserver which has it set to private (#7368)
-
Richard van der Hoff authored
Hopefully this is no worse than what we have on master...
-
- Apr 30, 2020
-
-
Patrick Cloke authored
By persisting the user interactive authentication sessions to the database, this fixes situations where a user hits different works throughout their auth session and also allows sessions to persist through restarts of Synapse.
-
Andrew Morgan authored
-
- Apr 29, 2020
-
-
Erik Johnston authored
This is primarily for allowing us to send those commands from workers, but for now simply allows us to ignore echoed RDATA/POSITION commands that we sent (we get echoes of sent commands when using redis). Currently we log a WARNING on the master process every time we receive an echoed RDATA.
-
Erik Johnston authored
For direct TCP connections we need the master to relay REMOTE_SERVER_UP commands to the other connections so that all instances get notified about it. The old implementation just relayed to all connections, assuming that sending back to the original sender of the command was safe. This is not true for redis, where commands sent get echoed back to the sender, which was causing master to effectively infinite loop sending and then re-receiving REMOTE_SERVER_UP commands that it sent. The fix is to ensure that we only relay to *other* connections and not to the connection we received the notification from. Fixes #7334.
-
Richard van der Hoff authored
* Factor out functions for injecting events into database I want to add some more flexibility to the tools for injecting events into the database, and I don't want to clutter up HomeserverTestCase with them, so let's factor them out to a new file. * Rework TestReplicationDataHandler This wasn't very easy to work with: the mock wrapping was largely superfluous, and it's useful to be able to inspect the received rows, and clear out the received list. * Fix AssertionErrors being thrown by EventsStream Part of the problem was that there was an off-by-one error in the assertion, but also the limit logic was too simple. Fix it all up and add some tests.
-
Andrew Morgan authored
-
- Apr 28, 2020
-
-
Andrew Morgan authored
-
Manuel Stahl authored
Signed-off-by:
Manuel Stahl <manuel.stahl@awesome-technologies.de>
-
Erik Johnston authored
Specifically some tests for the typing stream, which means we test streams that fetch missing updates via HTTP (rather than via the DB). We also shuffle things around a bit so that we create two separate `HomeServer` objects, rather than trying to insert a slaved store into places. Note: `test_typing.py` is heavily inspired by `test_receipts.py`
-
Andrew Morgan authored
-