mirror of
https://github.com/element-hq/synapse
synced 2024-09-01 12:10:21 +00:00
Ensure all push actions are deleted from staging
This commit is contained in:
parent
ad0ccf15ea
commit
24087bffa9
2 changed files with 19 additions and 2 deletions
|
@ -88,13 +88,21 @@ class EventPushActionsStore(SQLBaseStore):
|
|||
self._rotate_notifs, 30 * 60 * 1000
|
||||
)
|
||||
|
||||
def _set_push_actions_for_event_and_users_txn(self, txn, events_and_contexts):
|
||||
def _set_push_actions_for_event_and_users_txn(self, txn, events_and_contexts,
|
||||
all_events_and_contexts):
|
||||
"""Handles moving push actions from staging table to main
|
||||
event_push_actions table for all events in `events_and_contexts`.
|
||||
|
||||
Also ensures that all events in `all_events_and_contexts` are removed
|
||||
from the push action staging area.
|
||||
|
||||
Args:
|
||||
events_and_contexts (list[(EventBase, EventContext)]): events
|
||||
we are persisting
|
||||
all_events_and_contexts (list[(EventBase, EventContext)]): all
|
||||
events that we were going to persist. This includes events
|
||||
we've already persisted, etc, that wouldn't appear in
|
||||
events_and_context.
|
||||
"""
|
||||
|
||||
sql = """
|
||||
|
|
|
@ -693,6 +693,8 @@ class EventsStore(SQLBaseStore):
|
|||
list of the event ids which are the forward extremities.
|
||||
|
||||
"""
|
||||
all_events_and_contexts = events_and_contexts
|
||||
|
||||
max_stream_order = events_and_contexts[-1][0].internal_metadata.stream_ordering
|
||||
|
||||
self._update_current_state_txn(txn, state_delta_for_room, max_stream_order)
|
||||
|
@ -755,6 +757,7 @@ class EventsStore(SQLBaseStore):
|
|||
self._update_metadata_tables_txn(
|
||||
txn,
|
||||
events_and_contexts=events_and_contexts,
|
||||
all_events_and_contexts=all_events_and_contexts,
|
||||
backfilled=backfilled,
|
||||
)
|
||||
|
||||
|
@ -1152,13 +1155,18 @@ class EventsStore(SQLBaseStore):
|
|||
ec for ec in events_and_contexts if ec[0] not in to_remove
|
||||
]
|
||||
|
||||
def _update_metadata_tables_txn(self, txn, events_and_contexts, backfilled):
|
||||
def _update_metadata_tables_txn(self, txn, events_and_contexts,
|
||||
all_events_and_contexts, backfilled):
|
||||
"""Update all the miscellaneous tables for new events
|
||||
|
||||
Args:
|
||||
txn (twisted.enterprise.adbapi.Connection): db connection
|
||||
events_and_contexts (list[(EventBase, EventContext)]): events
|
||||
we are persisting
|
||||
all_events_and_contexts (list[(EventBase, EventContext)]): all
|
||||
events that we were going to persist. This includes events
|
||||
we've already persisted, etc, that wouldn't appear in
|
||||
events_and_context.
|
||||
backfilled (bool): True if the events were backfilled
|
||||
"""
|
||||
|
||||
|
@ -1166,6 +1174,7 @@ class EventsStore(SQLBaseStore):
|
|||
self._set_push_actions_for_event_and_users_txn(
|
||||
txn,
|
||||
events_and_contexts=events_and_contexts,
|
||||
all_events_and_contexts=all_events_and_contexts,
|
||||
)
|
||||
|
||||
if not events_and_contexts:
|
||||
|
|
Loading…
Reference in a new issue