Invalidate the receipt cache correctly

markjh/split_pusher
Mark Haines 2016-04-14 17:25:27 +01:00
parent c214d3e36e
commit 03c8df54f0
2 changed files with 6 additions and 8 deletions

View File

@ -42,10 +42,10 @@ class SlavedPushActionsStore(SlavedEventStore, SlavedReceiptsStore):
event, backfilled, reset_state
)
def invalidate_caches_for_receipt(self, user_id, room_id):
def invalidate_caches_for_receipt(self, room_id, receipt_type, user_id):
self.get_unread_event_push_actions_by_room_for_user.invalidate_many(
(room_id,)
)
super(SlavedPushActionsStore, self).invalidate_caches_for_receipt(
user_id, room_id
room_id, receipt_type, user_id
)

View File

@ -52,12 +52,10 @@ class SlavedReceiptsStore(BaseSlavedStore):
if stream:
self._receipts_id_gen.advance(stream["position"])
for row in stream["rows"]:
room_id = row[1]
user_id = row[3]
self.invalidate_caches_for_receipt(user_id, room_id)
self.get_receipts_for_user.invalidate((user_id,))
room_id, receipt_type, user_id = row[1:4]
self.invalidate_caches_for_receipt(room_id, receipt_type, user_id)
return super(SlavedReceiptsStore, self).process_replication(result)
def invalidate_caches_for_receipt(self, user_id, room_id):
self.get_receipts_for_user.invalidate((user_id,))
def invalidate_caches_for_receipt(self, room_id, receipt_type, user_id):
self.get_receipts_for_user.invalidate((user_id, receipt_type))