From 949629291cbb71d55a549ef35287a75c1d5bb691 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Tue, 16 Aug 2016 17:05:34 +0100 Subject: [PATCH] Do it in storage function --- synapse/replication/resource.py | 2 +- synapse/storage/_base.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/synapse/replication/resource.py b/synapse/replication/resource.py index 0996054f6..84993b33b 100644 --- a/synapse/replication/resource.py +++ b/synapse/replication/resource.py @@ -390,7 +390,7 @@ class ReplicationResource(Resource): caches = request_streams.get("caches") - if caches is not None and current_position != caches: + if caches is not None: updated_caches = yield self.store.get_all_updated_caches( caches, current_position, limit ) diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py index 0a2e78fd8..029f6612e 100644 --- a/synapse/storage/_base.py +++ b/synapse/storage/_base.py @@ -894,6 +894,9 @@ class SQLBaseStore(object): ) def get_all_updated_caches(self, last_id, current_id, limit): + if last_id == current_id: + return defer.succeed([]) + def get_all_updated_caches_txn(txn): # We purposefully don't bound by the current token, as we want to # send across cache invalidations as quickly as possible. Cache