Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Stop writing to event_reference_hashes (#12679)
Browse files Browse the repository at this point in the history
This table is never read, since #11794. We stop writing to it; in future we can
drop it altogether.
  • Loading branch information
richvdh committed May 10, 2022
1 parent dbb12a0 commit 147f098
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 38 deletions.
1 change: 1 addition & 0 deletions changelog.d/12679.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Preparation for database schema simplifications: stop writing to `event_reference_hashes`.
25 changes: 0 additions & 25 deletions synapse/storage/databases/main/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
import synapse.metrics
from synapse.api.constants import EventContentFields, EventTypes, RelationTypes
from synapse.api.room_versions import RoomVersions
from synapse.crypto.event_signing import compute_event_reference_hash
from synapse.events import EventBase # noqa: F401
from synapse.events.snapshot import EventContext # noqa: F401
from synapse.storage._base import db_to_json, make_in_list_sql_clause
Expand Down Expand Up @@ -1600,11 +1599,6 @@ def _update_metadata_tables_txn(
inhibit_local_membership_updates=inhibit_local_membership_updates,
)

# Insert event_reference_hashes table.
self._store_event_reference_hashes_txn(
txn, [event for event, _ in events_and_contexts]
)

# Prefill the event cache
self._add_to_cache(txn, events_and_contexts)

Expand Down Expand Up @@ -1704,25 +1698,6 @@ def _insert_event_expiry_txn(self, txn, event_id, expiry_ts):
values={"event_id": event_id, "expiry_ts": expiry_ts},
)

def _store_event_reference_hashes_txn(self, txn, events):
"""Store a hash for a PDU
Args:
txn (cursor):
events (list): list of Events.
"""

vals = []
for event in events:
ref_alg, ref_hash_bytes = compute_event_reference_hash(event)
vals.append((event.event_id, ref_alg, memoryview(ref_hash_bytes)))

self.db_pool.simple_insert_many_txn(
txn,
table="event_reference_hashes",
keys=("event_id", "algorithm", "hash"),
values=vals,
)

def _store_room_members_txn(
self, txn, events, *, inhibit_local_membership_updates: bool = False
):
Expand Down
3 changes: 0 additions & 3 deletions synapse/storage/databases/main/purge_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ def _purge_history_txn(
# event_forward_extremities
# event_json
# event_push_actions
# event_reference_hashes
# event_relations
# event_search
# event_to_state_groups
Expand Down Expand Up @@ -220,7 +219,6 @@ def _purge_history_txn(
"event_auth",
"event_edges",
"event_forward_extremities",
"event_reference_hashes",
"event_relations",
"event_search",
"rejections",
Expand Down Expand Up @@ -369,7 +367,6 @@ def _purge_room_txn(self, txn: LoggingTransaction, room_id: str) -> List[int]:
"event_edges",
"event_json",
"event_push_actions_staging",
"event_reference_hashes",
"event_relations",
"event_to_state_groups",
"event_auth_chains",
Expand Down
5 changes: 4 additions & 1 deletion synapse/storage/schema/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

SCHEMA_VERSION = 69 # remember to update the list below when updating
SCHEMA_VERSION = 70 # remember to update the list below when updating
"""Represents the expectations made by the codebase about the database schema
This should be incremented whenever the codebase changes its requirements on the
Expand Down Expand Up @@ -62,6 +62,9 @@
Changes in SCHEMA_VERSION = 69:
- We now write to `device_lists_changes_in_room` table.
- Use sequence to generate future `application_services_txns.txn_id`s
Changes in SCHEMA_VERSION = 70:
- event_reference_hashes is no longer written to.
"""


Expand Down
9 changes: 0 additions & 9 deletions tests/storage/test_event_federation.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,6 @@ def insert_event(txn, i):
(room_id, event_id),
)

txn.execute(
(
"INSERT INTO event_reference_hashes "
"(event_id, algorithm, hash) "
"VALUES (?, 'sha256', ?)"
),
(event_id, bytearray(b"ffff")),
)

for i in range(0, 20):
self.get_success(
self.store.db_pool.runInteraction("insert", insert_event, i)
Expand Down

0 comments on commit 147f098

Please sign in to comment.