summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2020-07-28 11:04:53 +0100
committerGitHub <noreply@github.com>2020-07-28 11:04:53 +0100
commita8f7ed28c61359c3d555c6d167771043ed0c753d (patch)
tree31d67cbea731a4e356db4fe438631a0b42a7f04d
parentHandle replication commands synchronously where possible (#7876) (diff)
downloadsynapse-a8f7ed28c61359c3d555c6d167771043ed0c753d.tar.xz
Typing worker needs to handle stream update requests (#7967)
IIRC this doesn't break tests because its only hit on reconnection, or something.

Basically, when a process needs to fetch missing updates for the `typing` stream it needs to query the writer instance via HTTP (as we don't write typing notifications to the DB), the problem was that the endpoint (`streams`) was only registered on master and specifically not on the typing writer worker. 
-rw-r--r--changelog.d/7967.bugfix1
-rw-r--r--synapse/replication/http/__init__.py2
2 files changed, 2 insertions, 1 deletions
diff --git a/changelog.d/7967.bugfix b/changelog.d/7967.bugfix
new file mode 100644
index 0000000000..105ea1c7e0
--- /dev/null
+++ b/changelog.d/7967.bugfix
@@ -0,0 +1 @@
+Fix experimental support for moving typing off master when worker is restarted, which is broken in v1.18.0-rc1.
diff --git a/synapse/replication/http/__init__.py b/synapse/replication/http/__init__.py
index 5ef1c6c1dc..a84a064c8d 100644
--- a/synapse/replication/http/__init__.py
+++ b/synapse/replication/http/__init__.py
@@ -39,10 +39,10 @@ class ReplicationRestResource(JsonResource):
         federation.register_servlets(hs, self)
         presence.register_servlets(hs, self)
         membership.register_servlets(hs, self)
+        streams.register_servlets(hs, self)
 
         # The following can't currently be instantiated on workers.
         if hs.config.worker.worker_app is None:
             login.register_servlets(hs, self)
             register.register_servlets(hs, self)
             devices.register_servlets(hs, self)
-            streams.register_servlets(hs, self)