summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-08-18 16:30:17 +0100
committerErik Johnston <erik@matrix.org>2015-08-18 16:30:17 +0100
commite624cdec649c02307aa115df7269322c5e5a8403 (patch)
tree921f399aaf5140f1758c2e3e4a43c4308831fa1b /synapse/storage
parentMerge pull request #230 from matrix-org/erikj/appservice_auth_entity (diff)
parentRemove newline because vertical whitespace makes mjark sad (diff)
downloadsynapse-e624cdec649c02307aa115df7269322c5e5a8403.tar.xz
Merge pull request #228 from matrix-org/erikj/_get_state_for_groups
Ensure we never return a None event from _get_state_for_groups
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/state.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/synapse/storage/state.py b/synapse/storage/state.py
index ab3ad5a076..c9110e6304 100644
--- a/synapse/storage/state.py
+++ b/synapse/storage/state.py
@@ -398,6 +398,7 @@ class StateStore(SQLBaseStore):
                 # for them again.
                 state_dict = {key: None for key in types}
                 state_dict.update(results[group])
+                results[group] = state_dict
             else:
                 state_dict = results[group]
 
@@ -412,9 +413,11 @@ class StateStore(SQLBaseStore):
                 full=(types is None),
             )
 
-            # We replace here to remove all the entries with None values.
+        # Remove all the entries with None values. The None values were just
+        # used for bookkeeping in the cache.
+        for group, state_dict in results.items():
             results[group] = {
-                key: value for key, value in state_dict.items() if value
+                key: event for key, event in state_dict.items() if event
             }
 
         defer.returnValue(results)