1 files changed, 7 insertions, 8 deletions
diff --git a/synapse/util/caches/descriptors.py b/synapse/util/caches/descriptors.py
index 5be4097279..799fd2a9c6 100644
--- a/synapse/util/caches/descriptors.py
+++ b/synapse/util/caches/descriptors.py
@@ -32,7 +32,7 @@ import os
import functools
import inspect
import threading
-import itertools
+
logger = logging.getLogger(__name__)
@@ -357,17 +357,16 @@ class CacheListDescriptor(object):
cached_defers[arg] = res
if cached_defers:
+ def update_results_dict(res):
+ results.update(res)
+ return results
+
return preserve_context_over_deferred(defer.gatherResults(
cached_defers.values(),
consumeErrors=True,
- ).addCallback(
- lambda res: {
- k: v
- for k, v in itertools.chain(results.items(), res)
- }
- )).addErrback(
+ ).addCallback(update_results_dict).addErrback(
unwrapFirstError
- )
+ ))
else:
return results
|