1 files changed, 8 insertions, 3 deletions
diff --git a/synapse/storage/state.py b/synapse/storage/state.py
index ab3ad5a076..b321412813 100644
--- a/synapse/storage/state.py
+++ b/synapse/storage/state.py
@@ -405,16 +405,21 @@ class StateStore(SQLBaseStore):
state_event = state_events[event_id]
state_dict[(state_event.type, state_event.state_key)] = state_event
+ results[group] = state_dict
+
self._state_group_cache.update(
cache_seq_num,
key=group,
- value=state_dict,
+ value=results[group],
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)
|