diff options
author | Erik Johnston <erik@matrix.org> | 2015-08-18 16:30:17 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-08-18 16:30:17 +0100 |
commit | e624cdec649c02307aa115df7269322c5e5a8403 (patch) | |
tree | 921f399aaf5140f1758c2e3e4a43c4308831fa1b | |
parent | Merge pull request #230 from matrix-org/erikj/appservice_auth_entity (diff) | |
parent | Remove newline because vertical whitespace makes mjark sad (diff) | |
download | synapse-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
-rw-r--r-- | synapse/storage/state.py | 7 |
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) |