summary refs log tree commit diff
path: root/synapse/replication/resource.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix check of wrong variableErik Johnston2016-10-111-1/+1
|
* Reduce DB hits for replicationErik Johnston2016-09-231-36/+103
| | | | | | | | | | | | | | Some streams will occaisonally advance their positions without actually having any new rows to send over federation. Currently this means that the token will not advance on the workers, leading to them repeatedly sending a slightly out of date token. This in turns requires the master to hit the DB to check if there are any new rows, rather than hitting the no op logic where we check if the given token matches the current token. This commit changes the API to always return an entry if the position for a stream has changed, allowing workers to advance their tokens correctly.
* Stream public room changes down replicationErik Johnston2016-09-151-1/+19
|
* Correctly handle typing stream id resettingErik Johnston2016-09-091-1/+8
|
* Drop replication log levelsErik Johnston2016-09-091-2/+2
|
* Merge pull request #1060 from matrix-org/erikj/state_idsErik Johnston2016-09-011-23/+1
|\ | | | | Assign state groups in state handler.
| * Remove state replication streamErik Johnston2016-08-301-23/+1
| |
* | Add a replication stream for direct to device messagesMark Haines2016-08-311-1/+18
|/
* Implement cache replication streamErik Johnston2016-08-151-1/+20
|
* Allow external processes to mark a user as syncing. (#812)Mark Haines2016-06-021-0/+2
| | | | | | | | | | | | * Add infrastructure to the presence handler to track sync requests in external processes * Expire stale entries for dead external processes * Add an http endpoint for making users as syncing Add some docstrings and comments. * Fixes
* Move typing handler out of the Handlers objectMark Haines2016-05-171-1/+1
|
* Move the presence handler out of the Handlers objectMark Haines2016-05-161-1/+1
|
* Log the stream IDs in an order that makes senseMark Haines2016-05-131-1/+1
|
* Don't warnErik Johnston2016-05-051-2/+0
|
* Add some log information at returned replication streamsErik Johnston2016-05-051-0/+11
|
* Report per request metrics for all of the things using request_handlerMark Haines2016-04-281-1/+2
|
* Fix backfill replication to advance the stream correctlyMark Haines2016-04-271-1/+1
|
* Add a replication endpoint for deleting pushersMark Haines2016-04-211-3/+4
|
* Separate generating the replication response...Mark Haines2016-04-051-44/+55
| | | | | from doing the http request parsing to make it easier to write unit tests for replication.
* Merge pull request #676 from matrix-org/markjh/replicate_stateIIIMark Haines2016-03-311-3/+14
|\ | | | | Add replication streams for ex outliers and current state resets
| * Use a namedtuple rather than tuple unpackingMark Haines2016-03-311-10/+6
| |
| * Add replication streams for ex outliers and current state resetsMark Haines2016-03-301-1/+16
| |
* | typoMatthew Hodgson2016-03-301-1/+1
|/
* Add a replication stream for state groupsMark Haines2016-03-301-7/+29
|
* Add replication stream for pushersMark Haines2016-03-151-1/+24
|
* s/stream_ordering/event_stream_ordering/ in pushMark Haines2016-03-041-1/+1
|
* Hook push rules up to the replication APIMark Haines2016-03-021-2/+26
|
* Add a /replication API for extracting the updates that happened onMark Haines2016-03-011-0/+320
synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates.