Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix some instances of ExpiringCache not expiring cache items | Erik Johnston | 2018-09-21 | 1 | -1/+0 |
| | | | | | | | | ExpiringCache required that `start()` be called before it would actually start expiring entries. A number of places didn't do that. This PR removes `start` from ExpiringCache, and automatically starts backround reaping process on creation instead. | ||||
* | Make sure that we close db connections opened during init | Richard van der Hoff | 2018-08-28 | 1 | -4/+1 |
| | | | | | | | | | We should explicitly close any db connections we open, because failing to do so can block other transactions as per https://github.com/matrix-org/synapse/issues/3682. Let's also try to factor out some of the boilerplate by having server classes define their datastore class rather than duplicating the whole of `setup`. | ||||
* | Merge pull request #3709 from matrix-org/rav/logcontext_for_replication_commands | Richard van der Hoff | 2018-08-17 | 1 | -1/+2 |
|\ | | | | | Logcontexts for replication command handlers | ||||
| * | Logcontexts for replication command handlers | Richard van der Hoff | 2018-08-17 | 1 | -1/+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. | ||||
* | | Integrate presence from hotfixes (#3694) | Amber Brown | 2018-08-18 | 1 | -5/+11 |
|/ | |||||
* | Pull out did_forget to worker store | Erik Johnston | 2018-07-24 | 1 | -4/+1 |
| | |||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -5/+6 |
| | |||||
* | The flag is named enable_metrics, not collect_metrics | Travis Ralston | 2018-06-12 | 1 | -1/+1 |
| | | | Signed-off-by: Travis Ralston <travpc@gmail.com> | ||||
* | Run Prometheus on a different port, optionally. (#3274) | Amber Brown | 2018-05-31 | 1 | -1/+9 |
| | |||||
* | Set Server header in SynapseRequest | Richard van der Hoff | 2018-05-10 | 1 | -0/+1 |
| | | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really. | ||||
* | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background | Richard van der Hoff | 2018-04-27 | 1 | -46/+49 |
|\ | |||||
| * | Improve exception handling for background processes | Richard van der Hoff | 2018-04-27 | 1 | -46/+49 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background. | ||||
* | | Use run_in_background in preference to preserve_fn | Richard van der Hoff | 2018-04-27 | 1 | -3/+2 |
|/ | | | | | | While I was going through uses of preserve_fn for other PRs, I converted places which only use the wrapped function once to use run_in_background, to avoid creating the function object. | ||||
* | Use six.itervalues in some places | Adrian Tschira | 2018-04-15 | 1 | -1/+3 |
| | | | | | | There's more where that came from Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | 404 correctly on missing paths via NoResource | Matthew Hodgson | 2018-03-23 | 1 | -2/+2 |
| | | | | fixes https://github.com/matrix-org/synapse/issues/2043 and https://github.com/matrix-org/synapse/issues/2029 | ||||
* | Move storage functions for push calculations | Erik Johnston | 2018-02-27 | 1 | -6/+2 |
| | | | | This will allow push actions for an event to be calculated on workers. | ||||
* | Factor out get_db_conn to HomeServer base class | Richard van der Hoff | 2018-01-26 | 1 | -13/+0 |
| | | | | | This function is identical to all subclasses, so we may as well push it up to the base class to reduce duplication (and make use of it in the tests) | ||||
* | Implement listen_tcp method in remaining workers | Silke | 2017-12-18 | 1 | -21/+17 |
| | | | | Signed-off-by: Silke <silke@slxh.eu> | ||||
* | Add a comment which might save some confusion | Richard van der Hoff | 2017-11-24 | 1 | -0/+1 |
| | |||||
* | Remove dead sync_callback | Richard van der Hoff | 2017-11-24 | 1 | -2/+0 |
| | | | | This is never used; let's remove it to stop confusing things. | ||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_merged | Erik Johnston | 2017-09-19 | 1 | -49/+20 |
|\ | |||||
| * | Factor out common application start | Richard van der Hoff | 2017-08-15 | 1 | -49/+20 |
| | | | | | | | | | | We have 10 copies of this code, and I don't really want to update each one separately. | ||||
* | | Fix replication. And notify | Erik Johnston | 2017-07-20 | 1 | -0/+6 |
|/ | |||||
* | Make workers report to master for user ip updates | Erik Johnston | 2017-06-27 | 1 | -2/+2 |
| | |||||
* | Move get_presence_list_* to SlaveStore | Erik Johnston | 2017-04-11 | 1 | -11/+1 |
| | |||||
* | Move get_interested_parties | Erik Johnston | 2017-04-11 | 1 | -3/+2 |
| | |||||
* | Reduce federation presence replication traffic | Erik Johnston | 2017-04-10 | 1 | -4/+2 |
| | | | | | | | | This is mainly done by moving the calculation of where to send presence updates from the presence handler to the transaction queue, so we only need to send the presence event (and not the destinations) across the replication connection. Before we were duplicating by sending the full state across once per destination. | ||||
* | Merge pull request #2103 from matrix-org/erikj/no-double-encode | Erik Johnston | 2017-04-07 | 1 | -3/+1 |
|\ | | | | | Don't double encode replication data | ||||
| * | Don't double json encode typing replication data | Erik Johnston | 2017-04-05 | 1 | -3/+1 |
| | | |||||
* | | Comment | Erik Johnston | 2017-04-06 | 1 | -1/+1 |
| | | |||||
* | | Docs | Erik Johnston | 2017-04-06 | 1 | -0/+7 |
| | | |||||
* | | Don't immediately notify the master about users whose syncs have gone away | Erik Johnston | 2017-04-05 | 1 | -4/+36 |
|/ | |||||
* | Add the appropriate amount of preserve_fn | Erik Johnston | 2017-04-04 | 1 | -7/+6 |
| | |||||
* | Shuffle and comment synchrotron presence | Erik Johnston | 2017-04-04 | 1 | -9/+11 |
| | |||||
* | Update all the workers and master to use TCP replication | Erik Johnston | 2017-04-03 | 1 | -196/+110 |
| | |||||
* | Merge pull request #2033 from matrix-org/erikj/repl_speed | Erik Johnston | 2017-03-21 | 1 | -4/+8 |
|\ | | | | | Don't send the full event json over replication | ||||
| * | PEP8 | Erik Johnston | 2017-03-20 | 1 | -1/+0 |
| | | |||||
| * | Don't send the full event json over replication | Erik Johnston | 2017-03-17 | 1 | -3/+8 |
| | | |||||
* | | Run the reactor with the sentinel logcontext | Richard van der Hoff | 2017-03-18 | 1 | -2/+7 |
|/ | | | | | | This fixes a class of 'Unexpected logcontext' messages, which were happening because the logcontext was somewhat arbitrarily swapping between the sentinel and the `run` logcontext. | ||||
* | Don't recreate so many sets | Erik Johnston | 2017-03-16 | 1 | -2/+1 |
| | |||||
* | Refactor logger config for workers | Richard van der Hoff | 2017-03-10 | 1 | -1/+1 |
| | | | | - to make it easier to add more config options. | ||||
* | Add db functions needed for room initial sync to slave | Mark Haines | 2017-02-13 | 1 | -0/+4 |
| | |||||
* | Remove debug logging | Erik Johnston | 2017-01-30 | 1 | -1/+0 |
| | |||||
* | Hook device list updates to replication | Erik Johnston | 2017-01-27 | 1 | -1/+26 |
| | |||||
* | Restore default bind address | Erik Johnston | 2017-01-10 | 1 | -10/+2 |
| | |||||
* | Fix check for bind_address | Johannes Löthberg | 2016-12-20 | 1 | -2/+2 |
| | | | | | | | The empty string is a valid setting for the bind_address option, so explicitly check for None here instead. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> | ||||
* | Add support for specifying multiple bind addresses | Johannes Löthberg | 2016-12-18 | 1 | -20/+34 |
| | | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> | ||||
* | Respect use_frozen_dicts option in workers | Erik Johnston | 2016-11-08 | 1 | -0/+2 |
| | |||||
* | Support /initialSync in synchrotron worker | Erik Johnston | 2016-09-21 | 1 | -0/+6 |
| | |||||
* | Enable state caches on workers | Erik Johnston | 2016-09-15 | 1 | -0/+1 |
| | |||||
* | Comment | Erik Johnston | 2016-09-09 | 1 | -0/+3 |
| | |||||
* | Fix up the calls to the notifier for device messages | Mark Haines | 2016-09-01 | 1 | -0/+3 |
| | |||||
* | Add new direct message storage functions to slave store | Erik Johnston | 2016-08-30 | 1 | -0/+2 |
| | |||||
* | Remove broken cache stuff | Erik Johnston | 2016-08-15 | 1 | -5/+0 |
| | |||||
* | Implement cache replication stream | Erik Johnston | 2016-08-15 | 1 | -13/+0 |
| | |||||
* | Make synchrotron accept /events | Erik Johnston | 2016-08-12 | 1 | -2/+34 |
| | |||||
* | Synced up synchrotron set_state with PresenceHandler set_state | Will Hunt | 2016-08-11 | 1 | -1/+1 |
| | |||||
* | Add federation /version API | Erik Johnston | 2016-08-05 | 1 | -1/+1 |
| | |||||
* | Fix setting gc thresholds in the workers | Mark Haines | 2016-06-17 | 1 | -1/+2 |
| | |||||
* | Use worker_ prefixes for worker config, use existing support for multiple ↵ | Mark Haines | 2016-06-16 | 1 | -17/+12 |
| | | | | config files | ||||
* | Access the event_cache_size directly from the server object. | Mark Haines | 2016-06-16 | 1 | -3/+3 |
| | | | | | This means that the workers can override the event_cache_size directly without clobbering the value in the main synapse config. | ||||
* | Access replication_url from the worker config directly | Mark Haines | 2016-06-16 | 1 | -2/+3 |
| | |||||
* | Inline the synchrotron and pusher configs into the main config | Mark Haines | 2016-06-16 | 1 | -103/+34 |
| | |||||
* | Add gc_threshold to pusher and synchrotron | Erik Johnston | 2016-06-07 | 1 | -0/+14 |
| | |||||
* | Allow setting of gc.set_thresholds | Erik Johnston | 2016-06-07 | 1 | -5/+10 |
| | |||||
* | Merge pull request #845 from matrix-org/markjh/synchrotron_presence | Mark Haines | 2016-06-06 | 1 | -1/+4 |
|\ | | | | | Fix a KeyError in the synchrotron presence | ||||
| * | Fix a KeyError in the synchrotron presence | Mark Haines | 2016-06-06 | 1 | -1/+4 |
| | | |||||
* | | Yield on the sleeps intended to backoff replication | Mark Haines | 2016-06-06 | 1 | -1/+1 |
|/ | |||||
* | Fix spelling | Mark Haines | 2016-06-03 | 1 | -1/+1 |
| | |||||
* | Add get_presence_list_accepted to the broken caches in synchrotron | Mark Haines | 2016-06-03 | 1 | -4/+9 |
| | |||||
* | Clear the list of ongoing syncs on shutdown | Mark Haines | 2016-06-03 | 1 | -0/+9 |
| | |||||
* | Appease flake8 | Mark Haines | 2016-06-03 | 1 | -1/+1 |
| | |||||
* | Use ClientIpStore to record client ips | Mark Haines | 2016-06-03 | 1 | -3/+4 |
| | |||||
* | Send updates to the syncing users every ten seconds or immediately if ↵ | Mark Haines | 2016-06-03 | 1 | -10/+43 |
| | | | | they've just come online | ||||
* | Add a separate process that can handle /sync requests | Mark Haines | 2016-06-03 | 1 | -0/+467 |