- May 13, 2020
-
-
Erik Johnston authored
-
Erik Johnston authored
The aim here is to get to a stage where we have a `PersistEventStore` that holds all the write methods used during event persistence, so that we can take that class out of the `DataStore` mixin and instansiate it separately. This will allow us to instansiate it on processes other than master, while also ensuring it is only available on processes that are configured to write to events stream. This is a bit of an architectural change, where we end up with multiple classes per data store (rather than one per data store we have now). We end up having: 1. Storage classes that provide high level APIs that can talk to multiple data stores. 2. Data store modules that consist of classes that must point at the same database instance. 3. Classes in a data store that can be instantiated on processes depending on config.
-
Erik Johnston authored
Before all streams were only written to from master, so only master needed to respond to `REPLICATE` commands. Before all instances wrote to the cache invalidation stream, but didn't respond to `REPLICATE`. This was a bug, which could lead to missed rows from cache invalidation stream if an instance is restarted, however all the caches would be empty in that case so it wasn't a problem.
-
Erik Johnston authored
Proactively send out `POSITION` commands (as if we had just received a `REPLICATE`) when we connect to Redis. This is important as other instances won't notice we've connected to issue a `REPLICATE` command (unlike for direct TCP connections). This is only currently an issue if master process reconnects without restarting (if it restarts then it won't have written anything and so other instances probably won't have missed anything).
-
- May 12, 2020
-
-
Patrick Cloke authored
-
Erik Johnston authored
-
- May 11, 2020
-
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Amber Brown authored
-
Andrew Morgan authored
-
Andrew Morgan authored
* release-v1.13.0: Don't UPGRADE database rows RST indenting Put rollback instructions in upgrade notes Fix changelog typo Oh yeah, RST Absolute URL it is then Fix upgrade notes link Provide summary of upgrade issues in changelog. Fix ) Move next version notes from changelog to upgrade notes Changelog fixes 1.13.0rc1 Documentation on setting up redis (#7446) Rework UI Auth session validation for registration (#7455) Fix errors from malformed log line (#7454) Drop support for redis.dbid (#7450)
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Neil Johnson authored
-
- May 08, 2020
-
-
Patrick Cloke authored
Be less strict about validation of UI authentication sessions during registration to match client expecations.
-
Andrew Morgan authored
-
Quentin Gliech authored
-
- May 07, 2020
-
-
Manuel Stahl authored
-
Richard van der Hoff authored
-
Richard van der Hoff authored
Since we only use pubsub, the dbid is irrelevant.
-
Brendan Abolivier authored
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Erik Johnston authored
-
Brendan Abolivier authored
Update docker runtime image to Alpine v3.11
-
Brendan Abolivier authored
Add dummy_events_threshold which allows configuring the number of forward extremities a room needs for Synapse to send forward extremities in it.
-
- 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.
-
Richard van der Hoff authored
-
Andrew Morgan authored
-