Erik Johnston
29574fd5b3
Reduce federation presence replication traffic
...
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.
2017-04-10 16:48:30 +01:00
Erik Johnston
98ce212093
Merge pull request #2103 from matrix-org/erikj/no-double-encode
...
Don't double encode replication data
2017-04-07 09:39:52 +01:00
Erik Johnston
391712a4f9
Comment
2017-04-06 13:35:00 +01:00
Erik Johnston
dbf87282d3
Docs
2017-04-06 13:11:21 +01:00
Erik Johnston
b5cb6347a4
Don't immediately notify the master about users whose syncs have gone away
2017-04-05 13:25:40 +01:00
Erik Johnston
96b9b6c127
Don't double json encode typing replication data
2017-04-05 11:34:20 +01:00
Erik Johnston
ac66e11f2b
Add the appropriate amount of preserve_fn
2017-04-04 15:22:54 +01:00
Erik Johnston
3376f16012
Shuffle and comment synchrotron presence
2017-04-04 11:14:16 +01:00
Erik Johnston
36c28bc467
Update all the workers and master to use TCP replication
2017-04-03 15:35:52 +01:00
Erik Johnston
37a187bfab
Merge pull request #2033 from matrix-org/erikj/repl_speed
...
Don't send the full event json over replication
2017-03-21 13:11:15 +00:00
Erik Johnston
aac6d1fc9b
PEP8
2017-03-20 13:47:56 +00:00
Richard van der Hoff
067b00d49d
Run the reactor with the sentinel logcontext
...
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.
2017-03-18 00:07:43 +00:00
Erik Johnston
61f471f779
Don't send the full event json over replication
2017-03-17 15:50:01 +00:00
Erik Johnston
6957bfdca6
Don't recreate so many sets
2017-03-16 11:54:26 +00:00
Richard van der Hoff
d84bd51e95
Refactor logger config for workers
...
- to make it easier to add more config options.
2017-03-10 15:34:01 +00:00
Mark Haines
3a46280ca3
Add db functions needed for room initial sync to slave
2017-02-13 11:16:53 +00:00
Erik Johnston
4ac363a168
Remove debug logging
2017-01-30 14:10:12 +00:00
Erik Johnston
252b503fc8
Hook device list updates to replication
2017-01-27 14:31:35 +00:00
Erik Johnston
edd6cdfc9a
Restore default bind address
2017-01-10 17:21:41 +00:00
Johannes Löthberg
702c020e58
Fix check for bind_address
...
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>
2016-12-20 01:37:50 +01:00
Johannes Löthberg
7dfd70fc83
Add support for specifying multiple bind addresses
...
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-12-18 21:51:56 +01:00
Erik Johnston
24772ba56e
Respect use_frozen_dicts option in workers
2016-11-08 11:07:18 +00:00
Erik Johnston
87528f0756
Support /initialSync in synchrotron worker
2016-09-21 11:46:28 +01:00
Erik Johnston
4be85281f9
Enable state caches on workers
2016-09-15 14:31:22 +01:00
Erik Johnston
44330a21e9
Comment
2016-09-09 17:22:07 +01:00
Mark Haines
7ed5acacf4
Fix up the calls to the notifier for device messages
2016-09-01 18:08:40 +01:00
Erik Johnston
873f870e5a
Add new direct message storage functions to slave store
2016-08-30 09:40:32 +01:00
Erik Johnston
784a2d4f2c
Remove broken cache stuff
2016-08-15 11:25:48 +01:00
Erik Johnston
64e7e11853
Implement cache replication stream
2016-08-15 11:16:45 +01:00
Erik Johnston
4e1cebd56f
Make synchrotron accept /events
2016-08-12 15:31:44 +01:00
Will Hunt
5b5148b7ec
Synced up synchrotron set_state with PresenceHandler set_state
2016-08-11 11:48:30 +01:00
Erik Johnston
24f36469bc
Add federation /version API
2016-08-05 16:36:07 +01:00
Mark Haines
8c75040c25
Fix setting gc thresholds in the workers
2016-06-17 11:48:12 +01:00
Mark Haines
a352b68acf
Use worker_ prefixes for worker config, use existing support for multiple config files
2016-06-16 17:29:50 +01:00
Mark Haines
364d616792
Access the event_cache_size directly from the server object.
...
This means that the workers can override the event_cache_size
directly without clobbering the value in the main synapse config.
2016-06-16 12:53:15 +01:00
Mark Haines
bde13833cb
Access replication_url from the worker config directly
2016-06-16 12:44:40 +01:00
Mark Haines
885ee861f7
Inline the synchrotron and pusher configs into the main config
2016-06-16 11:06:12 +01:00
Erik Johnston
2d1d1025fa
Add gc_threshold to pusher and synchrotron
2016-06-07 16:26:25 +01:00
Erik Johnston
dded389ac1
Allow setting of gc.set_thresholds
2016-06-07 15:45:56 +01:00
Mark Haines
b0932b34cb
Merge pull request #845 from matrix-org/markjh/synchrotron_presence
...
Fix a KeyError in the synchrotron presence
2016-06-06 16:52:27 +01:00
Mark Haines
4a5bbb1941
Fix a KeyError in the synchrotron presence
2016-06-06 16:37:12 +01:00
Mark Haines
5ef84da4f1
Yield on the sleeps intended to backoff replication
2016-06-06 16:05:28 +01:00
Mark Haines
ac9716f154
Fix spelling
2016-06-03 18:10:00 +01:00
Mark Haines
8f79084bd4
Add get_presence_list_accepted to the broken caches in synchrotron
2016-06-03 18:03:40 +01:00
Mark Haines
48340e4f13
Clear the list of ongoing syncs on shutdown
2016-06-03 15:02:27 +01:00
Mark Haines
da491e75b2
Appease flake8
2016-06-03 14:56:36 +01:00
Mark Haines
0b3c80a234
Use ClientIpStore to record client ips
2016-06-03 14:55:01 +01:00
Mark Haines
80aade3805
Send updates to the syncing users every ten seconds or immediately if they've just come online
2016-06-03 14:24:19 +01:00
Mark Haines
abb151f3c9
Add a separate process that can handle /sync requests
2016-06-03 11:57:26 +01:00