summary refs log tree commit diff
path: root/synapse/storage/databases
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/storage/databases')
-rw-r--r--synapse/storage/databases/main/events.py17
-rw-r--r--synapse/storage/databases/main/keys.py13
2 files changed, 23 insertions, 7 deletions
diff --git a/synapse/storage/databases/main/events.py b/synapse/storage/databases/main/events.py

index f07e288056..6a30aa6f81 100644 --- a/synapse/storage/databases/main/events.py +++ b/synapse/storage/databases/main/events.py
@@ -16,6 +16,7 @@ import itertools import logging from collections import OrderedDict, namedtuple +from synapse.logging.opentracing import start_active_span from typing import ( TYPE_CHECKING, Any, @@ -382,7 +383,8 @@ class PersistEventsStore: # Insert into event_to_state_groups. self._store_event_state_mappings_txn(txn, events_and_contexts) - self._persist_event_auth_chain_txn(txn, [e for e, _ in events_and_contexts]) + with start_active_span("_persist_event_auth_chain_txn"): + self._persist_event_auth_chain_txn(txn, [e for e, _ in events_and_contexts]) # _store_rejected_events_txn filters out any events which were # rejected, and returns the filtered list. @@ -393,12 +395,13 @@ class PersistEventsStore: # From this point onwards the events are only ones that weren't # rejected. - self._update_metadata_tables_txn( - txn, - events_and_contexts=events_and_contexts, - all_events_and_contexts=all_events_and_contexts, - backfilled=backfilled, - ) + with start_active_span("_update_metadata_tables_txn"): + self._update_metadata_tables_txn( + txn, + events_and_contexts=events_and_contexts, + all_events_and_contexts=all_events_and_contexts, + backfilled=backfilled, + ) # We call this last as it assumes we've inserted the events into # room_memberships, where applicable. diff --git a/synapse/storage/databases/main/keys.py b/synapse/storage/databases/main/keys.py
index 6990f3ed1d..1f01a5df0a 100644 --- a/synapse/storage/databases/main/keys.py +++ b/synapse/storage/databases/main/keys.py
@@ -138,6 +138,19 @@ class KeyStore(SQLBaseStore): for i in invalidations: invalidate((i,)) + async def store_server_keys_json_multi( + self, + entries: List[Tuple[str, str, str, int, int, bytes]], + ): + await self.db_pool.simple_upsert_many( + table="server_keys_json", + key_names=("server_name", "key_id", "from_server"), + key_values=[e[:3] for e in entries], + value_names=("ts_added_ms", "ts_valid_until_ms", "key_json"), + value_values=[(e[3], e[4], db_binary_type(e[5])) for e in entries], + desc="store_server_keys_json_multi", + ) + async def store_server_keys_json( self, server_name: str,