summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2017-02-14 14:29:04 +0100
committerGitHub <noreply@github.com>2017-02-14 14:29:04 +0100
commit795f8e3fe7fa3d0a38b27ae5f800213db3159c8d (patch)
treeef06256befc3f0f16ed4420cac7fc8d66815f08d
parentMerge pull request #1914 from matrix-org/erikj/cache_presence (diff)
parentBe more agressive about purging old room event_push_actions (diff)
downloadsynapse-795f8e3fe7fa3d0a38b27ae5f800213db3159c8d.tar.xz
Merge pull request #1873 from matrix-org/erikj/delete_push_actions
Be more agressive about purging old room event_push_actions
-rw-r--r--synapse/storage/event_push_actions.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/synapse/storage/event_push_actions.py b/synapse/storage/event_push_actions.py
index 7de3e8c58c..522d0114cb 100644
--- a/synapse/storage/event_push_actions.py
+++ b/synapse/storage/event_push_actions.py
@@ -450,8 +450,12 @@ class EventPushActionsStore(SQLBaseStore):
     def _remove_old_push_actions_before_txn(self, txn, room_id, user_id,
                                             topological_ordering):
         """
-        Purges old, stale push actions for a user and room before a given
-        topological_ordering
+        Purges old push actions for a user and room before a given
+        topological_ordering.
+
+        We however keep a months worth of highlighted notifications, so that
+        users can still get a list of recent highlights.
+
         Args:
             txn: The transcation
             room_id: Room ID to delete from
@@ -475,7 +479,8 @@ class EventPushActionsStore(SQLBaseStore):
         txn.execute(
             "DELETE FROM event_push_actions "
             " WHERE user_id = ? AND room_id = ? AND "
-            " topological_ordering < ? AND stream_ordering < ?",
+            " topological_ordering < ?"
+            " AND ((stream_ordering < ? AND highlight = 1) or highlight = 0)",
             (user_id, room_id, topological_ordering, self.stream_ordering_month_ago)
         )