1 files changed, 4 insertions, 3 deletions
diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py
index 0872a438f1..524a003153 100644
--- a/synapse/storage/_base.py
+++ b/synapse/storage/_base.py
@@ -183,8 +183,8 @@ class CacheDescriptor(object):
try:
cached_result_d = cache.get(*keyargs)
+ observed = cached_result_d.observe()
if DEBUG_CACHES:
-
@defer.inlineCallbacks
def check_result(cached_result):
actual_result = yield self.function_to_call(obj, *args, **kwargs)
@@ -195,9 +195,10 @@ class CacheDescriptor(object):
cached_result, actual_result,
)
raise ValueError("Stale cache entry")
- cached_result_d.observe().addCallback(check_result)
+ defer.returnValue(cached_result)
+ observed.addCallback(check_result)
- return cached_result_d.observe()
+ return observed
except KeyError:
# Get the sequence number of the cache before reading from the
# database so that we can tell if the cache is invalidated
|