summary refs log tree commit diff
path: root/synapse/app (follow)
Commit message (Collapse)AuthorAgeFilesLines
* synapse/app: frontend_proxy.py: actually make workers work on py3Ivan Shapovalov2018-10-141-2/+2
|
* Make workers work on Py3 (#4027)Amber Brown2018-10-134-28/+32
|
* Remove redundant call to start_get_pdu_cacheRichard van der Hoff2018-09-281-1/+0
| | | | | I think this got forgotten in #3932. We were getting away with it because it was the last call in this function.
* Replaced all occurences of e.message with str(e)Schnuffle2018-09-2712-13/+13
| | | | Signed-off-by: Schnuffle <schnuffle@github.com>
* Merge pull request #3948 from matrix-org/rav/no_symlink_synctlAmber Brown2018-09-261-284/+0
|\ | | | | Move synctl into top dir to avoid a symlink
| * Move synctl into top dir to avoid a symlinkRichard van der Hoff2018-09-251-284/+0
| | | | | | | | | | | | symlinks apparently break setuptools on python3 and alpine (https://bugs.python.org/issue31940), so let's stop using a symlink and just use the file directly.
* | Fix some instances of ExpiringCache not expiring cache itemsErik Johnston2018-09-2111-11/+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.
* typoWill Hunt2018-09-171-1/+1
|
* make pip happy?Will Hunt2018-09-171-2/+4
|
* Use a string for versionsWill Hunt2018-09-171-1/+1
|
* Add python_version phone home statWill Hunt2018-09-171-0/+2
|
* improve namingNeil Johnson2018-09-121-5/+9
|
* expose number of real reserved usersNeil Johnson2018-09-121-3/+7
|
* Make sure that we close db connections opened during initRichard van der Hoff2018-08-2811-46/+18
| | | | | | | | | 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 #3659 from matrix-org/erikj/split_profilesErik Johnston2018-08-221-0/+12
|\ | | | | Allow profile updates to happen on workers
| * Add some fixmesErik Johnston2018-08-171-0/+2
| |
| * Call UserDirectoryHandler methods directlyErik Johnston2018-08-171-0/+2
| | | | | | | | | | | | | | | | Turns out that the user directory handling is fairly racey as a bunch of stuff assumes that the processing happens on master, which it doesn't when there is a synapse.app.user_dir worker. So lets just call the function directly until we actually get round to fixing it, since it doesn't make the situation any worse.
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-178-14/+43
| |\ | | | | | | | | | erikj/split_profiles
| * \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-091-1/+10
| |\ \ | | | | | | | | | | | | erikj/split_profiles
| * | | Allow profile changes to happen on workersErik Johnston2018-08-071-0/+8
| | | |
* | | | Merge pull request #3709 from matrix-org/rav/logcontext_for_replication_commandsRichard van der Hoff2018-08-175-5/+10
|\ \ \ \ | | | | | | | | | | Logcontexts for replication command handlers
| * | | | Logcontexts for replication command handlersRichard van der Hoff2018-08-175-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #3710 from matrix-org/rav/logcontext_for_pusher_updatesRichard van der Hoff2018-08-171-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix logcontexts for running pushers
| * | | | | Fix logcontexts for running pushersRichard van der Hoff2018-08-171-2/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First of all, avoid resetting the logcontext before running the pushers, to fix the "Starting db txn 'get_all_updated_receipts' from sentinel context" warning. Instead, give them their own "background process" logcontexts.
* | | | / Integrate presence from hotfixes (#3694)Amber Brown2018-08-183-8/+53
| |_|_|/ |/| | |
* | | | remove errant yieldNeil Johnson2018-08-171-1/+1
| | | |
* | | | call reap on start up and fix under reaping bugNeil Johnson2018-08-161-0/+1
|/ / /
* | | Fix inbound federation on reader workerErik Johnston2018-08-161-0/+2
| | | | | | | | | | | | | | | Inbound federation requires calculating push, which in turn relies on having access to account data.
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-158-4/+20
|\ \ \ | | | | | | | | | | | | erikj/split_federation
| * | | pep8Neil Johnson2018-08-141-0/+1
| | | |
| * | | combine mau metrics into one groupNeil Johnson2018-08-141-4/+3
| | | |
| * | | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-101-1/+1
| | | |
| * | | Merge pull request #3439 from vojeroen/send_sni_for_federation_requestsRichard van der Hoff2018-08-108-0/+16
| |\ \ \ | | |_|/ | |/| | send SNI for federation requests
| | * | Merge branch 'develop' into send_sni_for_federation_requestsRichard van der Hoff2018-07-274-11/+33
| | |\ \
| | * \ \ Merge remote-tracking branch 'upstream/develop' into ↵Jeroen2018-07-1414-50/+71
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | send_sni_for_federation_requests # Conflicts: # synapse/crypto/context_factory.py
| | * | | | send SNI for federation requestsJeroen2018-06-248-0/+16
| | | | | |
* | | | | | Rename slave TransactionStore to SlaveTransactionStoreErik Johnston2018-08-155-10/+10
| | | | | |
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-091-1/+10
|\| | | | | | | | | | | | | | | | | | | | | | | erikj/split_federation
| * | | | | implement reserved users for mau limitsNeil Johnson2018-08-071-0/+6
| | | | | |
| * | | | | fix caching and testsNeil Johnson2018-08-031-1/+0
| | | | | |
| * | | | | update generate_monthly_active_users, and reap_monthly_active_usersNeil Johnson2018-08-021-2/+2
| | | | | |
| * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-011-0/+19
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| * | | | | api into monthly_active_users tableNeil Johnson2018-07-311-0/+4
| | |_|_|/ | |/| | |
* | | | | Pull in necessary stores in federation_readerErik Johnston2018-08-061-0/+2
| | | | |
* | | | | Add replication APIs for persisting federation eventsErik Johnston2018-08-061-0/+8
| |/ / / |/| | |
* | | | count_monthly_users is now asyncNeil Johnson2018-08-011-1/+2
| | | |
* | | | remove need to plot limit_usage_by_mauNeil Johnson2018-08-011-4/+0
| | | |
* | | | only need to loop if mau limiting is enabledNeil Johnson2018-08-011-1/+2
| | | |
* | | | coding styleNeil Johnson2018-07-311-1/+5
| | | |
* | | | remove errant loggingNeil Johnson2018-07-301-1/+0
| | | |
* | | | factor out metrics from __init__ to app/homeserverNeil Johnson2018-07-301-1/+19
|/ / /
* | | Fix some looping_call calls which were broken in #3604Richard van der Hoff2018-07-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call.
* | | Wrap a number of things that run in the backgroundRichard van der Hoff2018-07-251-3/+10
| | | | | | | | | | | | | | | This will reduce the number of "Starting db connection from sentinel context" warnings, and will help with our metrics.
* | | Replace usage of get_current_toke with StreamToken.STARTErik Johnston2018-07-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This allows us to handle /context/ requests on the client_reader worker without having to pull in all the various stream handlers (e.g. precence, typing, pushers etc). The only thing the token gets used for is pagination, and that ignores everything but the room portion of the token.
* | | Pull out did_forget to worker storeErik Johnston2018-07-241-4/+1
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-07-232-3/+7
|\ \ \ | | | | | | | | | | | | erikj/client_apis_move
| * | | Make the rest of the .iterwhatever go away (#3562)Amber Brown2018-07-212-3/+7
| | |/ | |/|
* / | Add some room read only APIs to client_readerErik Johnston2018-07-181-1/+13
|/ /
* / run isortAmber Brown2018-07-0914-50/+71
|/
* Write a clear restart indicator in logsRichard van der Hoff2018-06-201-6/+1
| | | | | I'm fed up with never being able to find the point a server restarted in the logs.
* Merge pull request #3389 from turt2live/travis/name_metricsAmber Brown2018-06-1311-11/+11
|\ | | | | Use the correct flag (enable_metrics) when warning about an incorrect metrics setup
| * The flag is named enable_metrics, not collect_metricsTravis Ralston2018-06-1211-11/+11
| | | | | | Signed-off-by: Travis Ralston <travpc@gmail.com>
* | Use the RegistryProxy for appservices tooTravis Ralston2018-06-121-1/+2
|/ | | Signed-off-by: Travis Ralston <travpc@gmail.com>
* Add hacky cache factor override systemErik Johnston2018-06-041-0/+4
|
* Merge pull request #3264 from matrix-org/neil/sign-up-statsNeil Johnson2018-06-011-0/+4
|\ | | | | daily user type phone home stats
| * daily user type phone home statsNeil Johnson2018-05-221-0/+4
| |
* | Run Prometheus on a different port, optionally. (#3274)Amber Brown2018-05-3112-14/+110
| |
* | fixesAmber Brown2018-05-221-2/+4
| |
* | Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-221-0/+17
|\|
| * Fix dependency on jinja2Richard van der Hoff2018-05-221-1/+1
| | | | | | | | | | | | | | Delay the import of ConsentResource, so that we can get away without jinja2 if people don't have the consent resource enabled. Fixes #3259
| * Merge pull request #3163 from matrix-org/cohort_analyticsNeil Johnson2018-05-161-0/+8
| |\ | | | | | | user visit data
| | * remove unused method recurring_user_daily_visit_statsNeil Johnson2018-05-161-3/+0
| | |
| | * pep8Neil Johnson2018-05-151-1/+0
| | |
| | * Limit query load of generate_user_daily_visitsNeil Johnson2018-05-151-14/+7
| | | | | | | | | | | | The aim is to keep track of when it was last called and only query from that point in time
| | * instead of inserting user daily visit data at the end of the day, instead ↵Neil Johnson2018-05-141-3/+16
| | | | | | | | | | | | insert incrementally through the day
| | * Merge branch 'develop' of https://github.com/matrix-org/synapse into ↵Neil Johnson2018-05-1411-87/+119
| | |\ | | | | | | | | | | | | cohort_analytics
| | * | 10 mins seems more reasonable that every minuteNeil Johnson2018-05-011-1/+1
| | | |
| | * | Generate user daily statsNeil Johnson2018-04-251-0/+6
| | | |
| * | | Merge pull request #3213 from matrix-org/rav/consent_handlerRichard van der Hoff2018-05-161-0/+9
| |\ \ \ | | |_|/ | |/| | ConsentResource to gather policy consent from users
| | * | ConsentResource to gather policy consent from usersRichard van der Hoff2018-05-151-0/+9
| | | | | | | | | | | | | | | | | | | | Hopefully there are enough comments and docs in this that it makes sense on its own.
* | | | look at the Prometheus metrics insteadAmber Brown2018-05-211-5/+3
|/ / /
* / / Set Server header in SynapseRequestRichard van der Hoff2018-05-1011-0/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | (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_backgroundRichard van der Hoff2018-04-275-80/+101
|\ \
| * | Improve exception handling for background processesRichard van der Hoff2018-04-275-80/+101
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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_fnRichard van der Hoff2018-04-273-7/+6
|/ | | | | | 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 placesAdrian Tschira2018-04-151-1/+3
| | | | | | There's more where that came from Signed-off-by: Adrian Tschira <nota@notafile.com>
* Merge pull request #3061 from NotAFile/add-some-byte-stringsRichard van der Hoff2018-04-091-1/+1
|\ | | | | Add b prefixes to some strings that are bytes in py3
| * Add b prefixes to some strings that are bytes in py3Adrian Tschira2018-04-041-1/+1
| | | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | more verbosity in synctlRichard van der Hoff2018-04-061-0/+1
| |
* | Merge pull request #3041 from matrix-org/r30_statsNeil Johnson2018-04-051-0/+4
|\ \ | | | | | | R30 stats
| * | Review commentsNeil Johnson2018-04-051-1/+1
| | | | | | | | | | | | | | | Use iteritems over item to loop over dict formatting
| * | Support multi client R30 for psqlNeil Johnson2018-03-281-1/+3
| | |
| * | rename stat to future proofNeil Johnson2018-03-281-1/+1
| | |
| * | query and call for r30 statsNeil Johnson2018-03-281-0/+2
| |/
* | phone home cache size configurationsJan Christian Grünhage2018-04-041-0/+3
| |
* | Merge pull request #3000 from NotAFile/change-except-styleRichard van der Hoff2018-04-041-2/+2
|\ \ | | | | | | Replace old style error catching with 'as' keyword
| * | replace old style error catching with 'as' keywordNotAFile2018-03-151-2/+2
| | | | | | | | | | | | | | | | | | | | | This is both easier to read and compatible with python3 (not that that matters) Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | Handle review commentsMichael Kaye2018-03-281-6/+9
| | |
* | | As daemonizing will make a new process, defer call to init.Michael Kaye2018-03-281-13/+23
| | |
* | | Include coarse CPU and Memory use in stats callbacks.Michael Kaye2018-03-271-0/+20
| |/ |/| | | | | | | This requires the psutil module, and is still opt-in based on the report_stats config option.
* | 404 correctly on missing paths via NoResourceMatthew Hodgson2018-03-2311-22/+22
|/ | | | fixes https://github.com/matrix-org/synapse/issues/2043 and https://github.com/matrix-org/synapse/issues/2029
* Register membership/state servlets in event_creatorErik Johnston2018-03-141-1/+13
|
* Merge pull request #2978 from matrix-org/erikj/refactor_replication_layerErik Johnston2018-03-131-1/+1
|\ | | | | Remove ReplicationLayer and user Client/Server directly
| * s/replication_client/federation_client/Erik Johnston2018-03-131-1/+1
| |
* | Don't build handlers on workers unnecessarilyErik Johnston2018-03-135-5/+0
|/
* Split replication layer into twoErik Johnston2018-03-131-1/+1
|
* Calculate push actions on workerErik Johnston2018-02-281-0/+8
|
* Move storage functions for push calculationsErik Johnston2018-02-272-11/+2
| | | | This will allow push actions for an event to be calculated on workers.
* Add event_creator workerErik Johnston2018-02-071-0/+170
|
* Add replication http endpoint for event sendingErik Johnston2018-02-071-0/+4
|
* Factor out get_db_conn to HomeServer base classRichard van der Hoff2018-01-2610-130/+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)
* Actually make it workErik Johnston2018-01-121-2/+10
|
* RefactorErik Johnston2018-01-121-9/+4
|
* When using synctl with workers, don't start the main synapse automaticallyErik Johnston2018-01-111-8/+26
|
* Implement listen_tcp method in remaining workersSilke2017-12-1810-192/+155
| | | | Signed-off-by: Silke <silke@slxh.eu>
* Remove logger argument and do not catch replication listenerSilke2017-12-182-24/+18
| | | | Signed-off-by: Silke <silke@slxh.eu>
* Add methods for listening on multiple addressesSilke Hofstra2017-12-172-51/+90
| | | | | | | Add listen_tcp and listen_ssl which implement Twisted's reactor.listenTCP and reactor.listenSSL for multiple addresses. Signed-off-by: Silke Hofstra <silke@slxh.eu>
* Allow binds to both :: and 0.0.0.0Silke Hofstra2017-12-171-37/+58
| | | | | | | | | | Binding on 0.0.0.0 when :: is specified in the bind_addresses is now allowed. This causes a warning explaining the behaviour. Configuration changed to match. See #2232 Signed-off-by: Silke Hofstra <silke@slxh.eu>
* Add a comment which might save some confusionRichard van der Hoff2017-11-241-0/+1
|
* Remove dead sync_callbackRichard van der Hoff2017-11-241-2/+0
| | | | This is never used; let's remove it to stop confusing things.
* Add config option to disable media_repo on main synapseRichard van der Hoff2017-11-222-8/+20
| | | | ... to stop us doing the cache cleanup jobs on the master.
* Build MediaRepositoryResource as a homeserver dependencyRichard van der Hoff2017-11-222-4/+2
| | | | | | This avoids the scenario where we have four different PreviewUrlResources configured on a single app, each of which have their own caches and cache clearing jobs.
* Merge pull request #2627 from matrix-org/rav/custom_rest_endpointsDavid Baker2017-11-021-0/+12
|\ | | | | Add a hook for custom rest endpoints
| * Add a hook for custom rest endpointsRichard van der Hoff2017-11-021-0/+12
| | | | | | | | | | Let the user specify custom modules which can be used for implementing extra endpoints.
* | Factor out _configure_named_resourceRichard van der Hoff2017-11-021-46/+64
|/ | | | This was a bit of a code vomit, so let's factor it out to preserve some sanity
* Merge pull request #2586 from matrix-org/rav/frontend_proxy_auth_headerRichard van der Hoff2017-10-271-0/+7
|\ | | | | Front-end proxy: pass through auth header
| * Front-end proxy: pass through auth headerRichard van der Hoff2017-10-261-0/+7
| | | | | | | | So that access-token-in-an-auth-header works.
* | Support /keys/upload on /r0 as well as /unstableRichard van der Hoff2017-10-261-2/+1
|/ | | | (So that we can stop riot relying on it in /unstable)
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
| | | | what could possibly go wrong
* Merge pull request #2466 from matrix-org/erikj/groups_mergedErik Johnston2017-10-111-0/+6
|\ | | | | Initial Group Implementation
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_mergedErik Johnston2017-09-1911-465/+257
| |\
| * | Fix replication. And notifyErik Johnston2017-07-201-0/+6
| | |
* | | Make 'affinity' package optionalErik Johnston2017-10-021-1/+14
| | |
* | | Move quit_with_errorErik Johnston2017-10-022-10/+11
| |/ |/|
* | Fix user_dir startupRichard van der Hoff2017-08-161-1/+1
| | | | | | | | Add missing parameter to _base.start_worker_reactor
* | Allow configuration of CPU affinityRichard van der Hoff2017-08-152-1/+9
| | | | | | | | | | Make it possible to set the CPU affinity in the config file, so that we don't need to remember to do it manually every time.
* | Factor out common application startRichard van der Hoff2017-08-1511-464/+248
|/ | | | | We have 10 copies of this code, and I don't really want to update each one separately.
* Include registration and as stores in frontend proxyErik Johnston2017-07-071-0/+4
|
* Add a frontend proxyErik Johnston2017-07-071-0/+267
|
* Make workers report to master for user ip updatesErik Johnston2017-06-274-8/+8
|
* Fix for workersErik Johnston2017-06-211-1/+1
|
* Merge pull request #2286 from matrix-org/erikj/split_out_user_dirErik Johnston2017-06-162-1/+271
|\ | | | | Split out user directory to a separate process
| * Initial worker implErik Johnston2017-06-162-1/+271
| |
* | TypoErik Johnston2017-06-151-1/+3
| |
* | Add some more statsErik Johnston2017-06-151-0/+7
| |
* | Fix phone home statsErik Johnston2017-06-141-36/+13
|/
* Merge pull request #2127 from APwhitehat/alreadystartedErik Johnston2017-04-271-0/+3
|\ | | | | print something legible if synapse already running
| * synctl.py: Check if synapse is already runningAnant Prakash2017-04-131-0/+3
| |
* | Queried CONDITIONAL_REQUIREMENTSMatthew Wolff2017-04-181-2/+5
| |
* | Fixed travis build failureMatthew Wolff2017-04-171-3/+1
| | | | | | | | Signed-off-by: Matthew Wolff <matthewjwolff@gmail.com>
* | web_server_root documentation fixMatthew Wolff2017-04-171-2/+1
|/ | | | Signed-off-by: Matthew Wolff <matthewjwolff@gmail.com>
* Merge pull request #2115 from matrix-org/erikj/dedupe_federation_replErik Johnston2017-04-122-18/+6
|\ | | | | Reduce federation replication traffic
| * Move get_presence_list_* to SlaveStoreErik Johnston2017-04-112-24/+3
| |
| * Move get_interested_partiesErik Johnston2017-04-111-3/+2
| |
| * Reduce federation presence replication trafficErik Johnston2017-04-102-4/+14
| | | | | | | | | | | | | | | | 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.
* | Remove HTTP replication APIsErik Johnston2017-04-111-4/+0
|/
* Fix up federation SendQueue and document typesErik Johnston2017-04-071-65/+1
|
* Merge pull request #2107 from HarHarLinks/patch-1Erik Johnston2017-04-071-1/+1
|\ | | | | fix typo in synctl help
| * fix typo in synctl helpKim Brose2017-04-061-1/+1
| |
* | Merge pull request #2103 from matrix-org/erikj/no-double-encodeErik Johnston2017-04-072-6/+2
|\ \ | | | | | | Don't double encode replication data
| * | Don't double json encode typing replication dataErik Johnston2017-04-051-3/+1
| | |
| * | Don't double json encode federation replication dataErik Johnston2017-04-051-3/+1
| | |
* | | CommentErik Johnston2017-04-061-1/+1
| | |
* | | DocsErik Johnston2017-04-061-0/+7
| | |
* | | Don't immediately notify the master about users whose syncs have gone awayErik Johnston2017-04-051-4/+36
|/ /
* | Merge pull request #2097 from matrix-org/erikj/repl_tcp_clientErik Johnston2017-04-057-402/+271
|\ \ | | | | | | Move to using TCP replication
| * | Add commentErik Johnston2017-04-041-0/+5
| | |
| * | Add the appropriate amount of preserve_fnErik Johnston2017-04-044-17/+19
| | |
| * | Shuffle and comment synchrotron presenceErik Johnston2017-04-041-9/+11
| | |
| * | Move where we ack federationErik Johnston2017-04-041-7/+16
| | |
| * | Update all the workers and master to use TCP replicationErik Johnston2017-04-037-401/+252
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-04-041-1/+2
|\ \ \ | |/ / |/| | | | | erikj/repl_tcp_server
| * | Merge pull request #2078 from APwhitehat/assertuserfriendlyErik Johnston2017-03-311-1/+2
| |\ \ | | | | | | | | add user friendly report of assertion error in synctl.py
| | * | add user friendly report of assertion error in synctl.pyAnant Prakash2017-03-291-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Anant Prakash <anantprakashjsr@gmail.com>
* | | | Add tcp replication listener type and hook it upErik Johnston2017-03-301-0/+11
|/ / /
* / / synctl.py: wait for synapse to stop before restarting (#2020)Anant Prakash2017-03-291-4/+43
|/ /
* | Add slave transaction storeErik Johnston2017-03-242-0/+4
| |
* | Merge pull request #2033 from matrix-org/erikj/repl_speedErik Johnston2017-03-211-4/+8
|\ \ | | | | | | Don't send the full event json over replication
| * | PEP8Erik Johnston2017-03-201-1/+0
| | |
| * | Don't send the full event json over replicationErik Johnston2017-03-171-3/+8
| | |
* | | Run the reactor with the sentinel logcontextRichard van der Hoff2017-03-188-16/+51
|/ / | | | | | | | | | | 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 setsErik Johnston2017-03-161-2/+1
| |
* | Refactor logger config for workersRichard van der Hoff2017-03-108-8/+10
|/ | | | - to make it easier to add more config options.
* Add db functions needed for room initial sync to slaveMark Haines2017-02-131-0/+4
|
* Remove debug loggingErik Johnston2017-01-301-1/+0
|
* Hook device list updates to replicationErik Johnston2017-01-272-2/+28
|
* Restore default bind addressErik Johnston2017-01-108-80/+16
|
* Remove spurious for..else..Erik Johnston2017-01-101-11/+0
|
* Fix check for bind_addressJohannes Löthberg2016-12-208-16/+16
| | | | | | | 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 addressesJohannes Löthberg2016-12-188-171/+294
| | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* CommentErik Johnston2016-11-231-0/+3
|
* Explicit federation ackErik Johnston2016-11-231-1/+4
|
* CommentsErik Johnston2016-11-211-0/+12
|
* Store federation stream positions in the databaseErik Johnston2016-11-211-16/+22
|
* Handle sending events and device messages over federationErik Johnston2016-11-171-13/+18
|
* Hook up the send queue and create a federation sender workerErik Johnston2016-11-161-0/+302
|
* Respect use_frozen_dicts option in workersErik Johnston2016-11-086-0/+22
|
* Set up the process collector during metrics __init__; that way all ↵Paul "LeoNerd" Evans2016-10-271-2/+0
| | | | split-process workers have it
* Pass the Metrics group into the process collector instead of having it find ↵Paul "LeoNerd" Evans2016-10-271-1/+1
| | | | its own one; this avoids it needing to import from synapse.metrics
* Move the process metrics collector code into its own filePaul "LeoNerd" Evans2016-10-191-0/+2
|
* Merge pull request #1162 from larroy/masterErik Johnston2016-10-141-1/+1
|\ | | | | Use sys.executable instead of hardcoded python. fixes #1161
| * Use sys.executable instead of hardcoded python. fixes #1161Pedro Larroy2016-10-081-1/+1
| |
* | Reduce DB hits for replicationErik Johnston2016-09-231-2/+2
|/ | | | | | | | | | | | | | 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.
* Support /initialSync in synchrotron workerErik Johnston2016-09-211-0/+6
|
* fix logger for client_reader workerMatthew Hodgson2016-09-171-1/+1
|
* Enable state caches on workersErik Johnston2016-09-156-0/+6
|
* Split out public room list into a worker processErik Johnston2016-09-141-0/+215
|
* CommentErik Johnston2016-09-091-0/+3
|
* Fix up the calls to the notifier for device messagesMark Haines2016-09-011-0/+3
|
* Add new direct message storage functions to slave storeErik Johnston2016-08-301-0/+2
|
* Update commentMark Haines2016-08-221-1/+2
|
* Add usage stats to prometheus monitoringMark Haines2016-08-221-2/+25
|
* Remove log linesErik Johnston2016-08-181-2/+0
|
* Add appservice workerErik Johnston2016-08-181-0/+211
|
* Missed a s/federation reader/media repository/ in a log messageMark Haines2016-08-181-1/+1
|
* Add a media repository workerMark Haines2016-08-181-0/+212
|
* Remove broken cache stuffErik Johnston2016-08-152-21/+0
|
* Implement cache replication streamErik Johnston2016-08-151-13/+0
|
* Make synchrotron accept /eventsErik Johnston2016-08-121-2/+34
|
* Synced up synchrotron set_state with PresenceHandler set_stateWill Hunt2016-08-111-1/+1
|
* Add federation /version APIErik Johnston2016-08-054-4/+4
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/fed_readerErik Johnston2016-07-291-5/+3
|\
| * Fix flake8 violationRichard van der Hoff2016-07-261-5/+3
| | | | | | | | | | Apparently flake8 v3 puts the error on a different line to v2. Easiest way to make sure that happens is by putting the whole statement on one line :)
* | Add destination retry to slave storeErik Johnston2016-07-281-0/+2
| |
* | Add slace storage functions for public room listErik Johnston2016-07-281-0/+4
| |
* | Split out a FederationReader processErik Johnston2016-07-211-0/+200
|/
* Add metrics for psutil derived memory usageErik Johnston2016-07-201-0/+3
|
* Merge branch 'master' into developMark Haines2016-06-231-27/+151
|\
| * Optionally start or stop workers in synctl.Mark Haines2016-06-211-27/+151
| | | | | | | | | | | | | | | | | | | | | | Optionally start or stop an individual worker by passing -w with the path to the worker config. Optionally start or stop every worker and the main synapse by passing -a with a path to a directory containing worker configs. The "-w" is intended to be used to bounce individual workers proceses. THe "-a" is intended for when you want to restart all the workers simultaneuously, for example when performing database upgrades.
* | Remove the legacy v0 content upload API.Mark Haines2016-06-211-2/+1
|/ | | | | | The existing content can still be downloaded. The last upload to the matrix.org server was in January 2015, so it is probably safe to remove the upload API.
* Fix setting gc thresholds in the workersMark Haines2016-06-172-2/+4
|
* Use worker_ prefixes for worker config, use existing support for multiple ↵Mark Haines2016-06-162-34/+24
| | | | config files
* Access the event_cache_size directly from the server object.Mark Haines2016-06-162-6/+6
| | | | | 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 directlyMark Haines2016-06-162-4/+6
|
* Inline the synchrotron and pusher configs into the main configMark Haines2016-06-162-228/+80
|
* Add function to load config without generating itMark Haines2016-06-091-2/+1
| | | | | | | | | | | | | | | | Renames ``load_config`` to ``load_or_generate_config`` Adds a method called ``load_config`` that just loads the config. The main synapse.app.homeserver will continue to use ``load_or_generate_config`` to retain backwards compat. However new worker processes can use ``load_config`` to load the config avoiding some of the cruft needed to generate the config. As the new ``load_config`` method is expected to be used by new configs it removes support for the legacy commandline overrides that ``load_or_generate_config`` supports
* Add gc_threshold to pusher and synchrotronErik Johnston2016-06-072-0/+28
|
* Allow setting of gc.set_thresholdsErik Johnston2016-06-073-5/+20
|
* Merge pull request #845 from matrix-org/markjh/synchrotron_presenceMark Haines2016-06-061-1/+4
|\ | | | | Fix a KeyError in the synchrotron presence
| * Fix a KeyError in the synchrotron presenceMark Haines2016-06-061-1/+4
| |
* | Yield on the sleeps intended to backoff replicationMark Haines2016-06-062-2/+2
|/
* Fix spellingMark Haines2016-06-031-1/+1
|
* Add get_presence_list_accepted to the broken caches in synchrotronMark Haines2016-06-031-4/+9
|
* Clear the list of ongoing syncs on shutdownMark Haines2016-06-031-0/+9
|
* Appease flake8Mark Haines2016-06-031-1/+1
|
* Use ClientIpStore to record client ipsMark Haines2016-06-031-3/+4
|
* Send updates to the syncing users every ten seconds or immediately if ↵Mark Haines2016-06-031-10/+43
| | | | they've just come online
* Add a separate process that can handle /sync requestsMark Haines2016-06-031-0/+467
|
* Working unsubscribe links going straight to the HSDavid Baker2016-06-021-1/+22
| | | | and authed by macaroons that let you delete pushers and nothing else
* os.environ requires a stringErik Johnston2016-05-161-1/+1
|