summary refs log tree commit diff
path: root/synapse/replication/http/_base.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2020-03-25 14:55:02 +0000
committerErik Johnston <erik@matrix.org>2020-03-25 14:55:02 +0000
commit83ecaeecbf9997b5ceb532fa965f071084ca61ee (patch)
treef62a181a3a651ff595311bfa166778b4d4bfb000 /synapse/replication/http/_base.py
parentPass instance name through to rdata (diff)
downloadsynapse-github/erikj/split_out_fed_stream.tar.xz
Diffstat (limited to 'synapse/replication/http/_base.py')
-rw-r--r--synapse/replication/http/_base.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/synapse/replication/http/_base.py b/synapse/replication/http/_base.py

index a9ad601132..cdbc406c97 100644 --- a/synapse/replication/http/_base.py +++ b/synapse/replication/http/_base.py
@@ -128,15 +128,23 @@ class ReplicationEndpoint(object): Returns a callable that accepts the same parameters as `_serialize_payload`. """ clock = hs.get_clock() - host = hs.config.worker_replication_host - port = hs.config.worker_replication_http_port + master_host = hs.config.worker_replication_host + master_port = hs.config.worker_replication_http_port + + instance_http_map = hs.config.instance_http_map client = hs.get_simple_http_client() @trace(opname="outgoing_replication_request") @defer.inlineCallbacks def send_request(instance_name="master", **kwargs): - if instance_name != "master": + if instance_name == "master": + host = master_host + port = master_port + elif instance_name in instance_http_map: + host = instance_http_map[instance_name]["host"] + port = instance_http_map[instance_name]["port"] + else: raise Exception("Unknown instance") data = yield cls._serialize_payload(**kwargs)