summary refs log tree commit diff
path: root/synapse/replication/tcp/client.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix sending server up commands from workers (#6811)Erik Johnston2020-01-301-0/+4
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Wake up transaction queue when remote server comes back online (#6706)Erik Johnston2020-01-171-0/+3
| | | | | This will be used to retry outbound transactions to a remote server if we think it might have come back up.
* Port synapse.replication.tcp to async/await (#6666)Erik Johnston2020-01-161-7/+4
| | | | | | | | | | * Port synapse.replication.tcp to async/await * Newsfile * Correctly document type of on_<FOO> functions as async * Don't be overenthusiastic with the asyncing....
* Fixup synapse.replication to pass mypy checks (#6667)Erik Johnston2020-01-141-5/+7
|
* Reduce the reconnect time when replication fails. (#6617)Richard van der Hoff2020-01-031-1/+2
|
* document the REPLICATE command a bit better (#6305)Richard van der Hoff2019-11-041-6/+14
| | | | since I found myself wonder how it works
* Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2019-10-311-1/+1
| | | Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
* Run Black. (#5482)Amber Brown2019-06-201-3/+3
|
* Add parse_row method to replication stream classRichard van der Hoff2019-03-271-2/+3
| | | | This will allow individual stream classes to override how a row is parsed.
* Fix/improve some docstrings in the replication code. (#4949)Richard van der Hoff2019-03-271-3/+11
|
* Move connecting logic into ClientReplicationStreamProtocolErik Johnston2019-02-271-18/+0
|
* Increase the max delay between retry attemptsErik Johnston2019-02-261-1/+1
| | | | | Otherwise if you have many workers they can easily take out master with their connection attempts
* Fix tightloop over connecting to replication serverErik Johnston2019-02-261-3/+35
| | | | | | | | | | | | | | | If the client failed to process incoming commands during the initial set up of the replication connection it would immediately disconnect and reconnect, resulting in a tightloop. This can happen, for example, when subscribing to a stream that has a row that is too long in the backlog. The fix here is to not consider the connection successfully set up until the client has succesfully subscribed and caught up with the streams. This ensures that the retry logic timers aren't reset until then, meaning that if an error does happen during start up the client will continue backing off before retrying again.
* Make the replication logger quieter (#4108)Amber Brown2018-10-291-1/+1
|
* Logcontexts for replication command handlersRichard van der Hoff2018-08-171-2/+2
| | | | | | | | | | Run the handlers for replication commands as background processes. This should improve the visibility in our metrics, and reduce the number of "running db transaction from sentinel context" warnings. Ideally it means converting the things that fire off deferreds into the night into things that actually return a Deferred when they are done. I've made a bit of a stab at this, but it will probably be leaky.
* Fix unit testsRichard van der Hoff2018-07-251-1/+1
| | | | | | on_notifier_poke no longer runs synchonously, so we have to do a different hack to make sure that the replication data has been sent. Let's actually listen for its arrival.
* run isortAmber Brown2018-07-091-3/+6
|
* Remove all global reactor imports & pass it around explicitly (#3424)Amber Brown2018-06-251-3/+3
|
* Make workers report to master for user ip updatesErik Johnston2017-06-271-0/+7
|
* Fix incorrect type when using InvalidateCacheCommandErik Johnston2017-04-061-1/+1
|
* Add basic replication client handler and factoryErik Johnston2017-04-031-0/+196