summary refs log tree commit diff
path: root/synapse/push
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2017-07-14 16:11:26 +0100
committerErik Johnston <erik@matrix.org>2017-07-14 16:11:26 +0100
commitbfde0760224c09a5e6327d4ae4181ecb10ccfc2e (patch)
treee39c1b6f922aaf5434a1007f88f5a480d32d891d /synapse/push
parentMerge pull request #2366 from matrix-org/erikj/push_metrics (diff)
downloadsynapse-bfde0760224c09a5e6327d4ae4181ecb10ccfc2e.tar.xz
Increase cache hit ratio for push
We don't update the cache in all code paths, which causes subsequent
calls to miss the cache
Diffstat (limited to 'synapse/push')
-rw-r--r--synapse/push/bulk_push_rule_evaluator.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py
index 9134969553..b0d64aa6c4 100644
--- a/synapse/push/bulk_push_rule_evaluator.py
+++ b/synapse/push/bulk_push_rule_evaluator.py
@@ -316,6 +316,14 @@ class RulesForRoom(object):
                 yield self._update_rules_with_member_event_ids(
                     ret_rules_by_user, missing_member_event_ids, state_group, event
                 )
+            else:
+                # The push rules didn't change but lets update the cache anyway
+                self.update_cache(
+                    self.sequence,
+                    members={},  # There were no membership changes
+                    rules_by_user=ret_rules_by_user,
+                    state_group=state_group
+                )
 
         if logger.isEnabledFor(logging.DEBUG):
             logger.debug(