forked from MirrorHub/synapse
Avoid attempting to delete push actions for remote users. (#12879)
Remote users will never have push actions, so we can avoid a database round-trip/transaction completely.
This commit is contained in:
parent
b83bc5fab5
commit
b5707ceaba
1
changelog.d/12879.misc
Normal file
1
changelog.d/12879.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Avoid running queries which will never result in deletions.
|
|
@ -223,7 +223,7 @@ class PerDestinationQueue:
|
|||
"""Marks that the destination has new data to send, without starting a
|
||||
new transaction.
|
||||
|
||||
If a transaction loop is already in progress then a new transcation will
|
||||
If a transaction loop is already in progress then a new transaction will
|
||||
be attempted when the current one finishes.
|
||||
"""
|
||||
|
||||
|
|
|
@ -938,7 +938,7 @@ class EventPushActionsWorkerStore(SQLBaseStore):
|
|||
users can still get a list of recent highlights.
|
||||
|
||||
Args:
|
||||
txn: The transcation
|
||||
txn: The transaction
|
||||
room_id: Room ID to delete from
|
||||
user_id: user ID to delete for
|
||||
stream_ordering: The lowest stream ordering which will
|
||||
|
|
|
@ -673,8 +673,11 @@ class ReceiptsWorkerStore(SQLBaseStore):
|
|||
lock=False,
|
||||
)
|
||||
|
||||
# When updating a local users read receipt, remove any push actions
|
||||
# which resulted from the receipt's event and all earlier events.
|
||||
if (
|
||||
receipt_type in (ReceiptTypes.READ, ReceiptTypes.READ_PRIVATE)
|
||||
self.hs.is_mine_id(user_id)
|
||||
and receipt_type in (ReceiptTypes.READ, ReceiptTypes.READ_PRIVATE)
|
||||
and stream_ordering is not None
|
||||
):
|
||||
self._remove_old_push_actions_before_txn( # type: ignore[attr-defined]
|
||||
|
|
|
@ -313,7 +313,7 @@ class EventsPersistenceStorage:
|
|||
List of events persisted, the current position room stream position.
|
||||
The list of events persisted may not be the same as those passed in
|
||||
if they were deduplicated due to an event already existing that
|
||||
matched the transcation ID; the existing event is returned in such
|
||||
matched the transaction ID; the existing event is returned in such
|
||||
a case.
|
||||
"""
|
||||
partitioned: Dict[str, List[Tuple[EventBase, EventContext]]] = {}
|
||||
|
|
Loading…
Reference in a new issue