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

Commit 5350b5d

Browse files
authored
Revert "Reintroduce membership tables event stream ordering (#15128)" (#15347)
This reverts commit e6af49f.
1 parent 78cdb72 commit 5350b5d

File tree

6 files changed

+12
-131
lines changed

6 files changed

+12
-131
lines changed

changelog.d/15128.misc

Lines changed: 0 additions & 1 deletion
This file was deleted.

synapse/storage/databases/main/events.py

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,15 +1127,11 @@ def _update_current_state_txn(
11271127
# been inserted into room_memberships.
11281128
txn.execute_batch(
11291129
"""INSERT INTO current_state_events
1130-
(room_id, type, state_key, event_id, membership, event_stream_ordering)
1131-
VALUES (
1132-
?, ?, ?, ?,
1133-
(SELECT membership FROM room_memberships WHERE event_id = ?),
1134-
(SELECT stream_ordering FROM events WHERE event_id = ?)
1135-
)
1130+
(room_id, type, state_key, event_id, membership)
1131+
VALUES (?, ?, ?, ?, (SELECT membership FROM room_memberships WHERE event_id = ?))
11361132
""",
11371133
[
1138-
(room_id, key[0], key[1], ev_id, ev_id, ev_id)
1134+
(room_id, key[0], key[1], ev_id, ev_id)
11391135
for key, ev_id in to_insert.items()
11401136
],
11411137
)
@@ -1162,15 +1158,11 @@ def _update_current_state_txn(
11621158
if to_insert:
11631159
txn.execute_batch(
11641160
"""INSERT INTO local_current_membership
1165-
(room_id, user_id, event_id, membership, event_stream_ordering)
1166-
VALUES (
1167-
?, ?, ?,
1168-
(SELECT membership FROM room_memberships WHERE event_id = ?),
1169-
(SELECT stream_ordering FROM events WHERE event_id = ?)
1170-
)
1161+
(room_id, user_id, event_id, membership)
1162+
VALUES (?, ?, ?, (SELECT membership FROM room_memberships WHERE event_id = ?))
11711163
""",
11721164
[
1173-
(room_id, key[1], ev_id, ev_id, ev_id)
1165+
(room_id, key[1], ev_id, ev_id)
11741166
for key, ev_id in to_insert.items()
11751167
if key[0] == EventTypes.Member and self.is_mine_id(key[1])
11761168
],
@@ -1776,7 +1768,6 @@ def _store_room_members_txn(
17761768
table="room_memberships",
17771769
keys=(
17781770
"event_id",
1779-
"event_stream_ordering",
17801771
"user_id",
17811772
"sender",
17821773
"room_id",
@@ -1787,7 +1778,6 @@ def _store_room_members_txn(
17871778
values=[
17881779
(
17891780
event.event_id,
1790-
event.internal_metadata.stream_ordering,
17911781
event.state_key,
17921782
event.user_id,
17931783
event.room_id,
@@ -1820,7 +1810,6 @@ def _store_room_members_txn(
18201810
keyvalues={"room_id": event.room_id, "user_id": event.state_key},
18211811
values={
18221812
"event_id": event.event_id,
1823-
"event_stream_ordering": event.internal_metadata.stream_ordering,
18241813
"membership": event.membership,
18251814
},
18261815
)

synapse/storage/databases/main/purge_events.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -428,16 +428,14 @@ def _purge_room_txn(self, txn: LoggingTransaction, room_id: str) -> List[int]:
428428
"partial_state_events",
429429
"partial_state_rooms_servers",
430430
"partial_state_rooms",
431-
# Note: the _membership(s) tables have foreign keys to the `events` table
432-
# so must be deleted first.
433-
"local_current_membership",
434-
"room_memberships",
435431
"events",
436432
"federation_inbound_events_staging",
433+
"local_current_membership",
437434
"receipts_graph",
438435
"receipts_linearized",
439436
"room_aliases",
440437
"room_depth",
438+
"room_memberships",
441439
"room_stats_state",
442440
"room_stats_current",
443441
"room_stats_earliest_token",

synapse/storage/schema/__init__.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
SCHEMA_VERSION = 75 # remember to update the list below when updating
15+
SCHEMA_VERSION = 74 # remember to update the list below when updating
1616
"""Represents the expectations made by the codebase about the database schema
1717
1818
This should be incremented whenever the codebase changes its requirements on the
@@ -91,19 +91,13 @@
9191
- A query on `event_stream_ordering` column has now been disambiguated (i.e. the
9292
codebase can handle the `current_state_events`, `local_current_memberships` and
9393
`room_memberships` tables having an `event_stream_ordering` column).
94-
95-
Changes in SCHEMA_VERSION = 75:
96-
- The `event_stream_ordering` column in membership tables (`current_state_events`,
97-
`local_current_membership` & `room_memberships`) is now being populated for new
98-
rows. When the background job to populate historical rows lands this will
99-
become the compat schema version.
10094
"""
10195

10296

10397
SCHEMA_COMPAT_VERSION = (
104-
# Queries against `event_stream_ordering` columns in membership tables must
105-
# be disambiguated.
106-
74
98+
# The threads_id column must exist for event_push_actions, event_push_summary,
99+
# receipts_linearized, and receipts_graph.
100+
73
107101
)
108102
"""Limit on how far the synapse codebase can be rolled back without breaking db compat
109103

synapse/storage/schema/main/delta/74/01membership_tables_event_stream_ordering.sql

Lines changed: 0 additions & 20 deletions
This file was deleted.

synapse/storage/schema/main/delta/74/02membership_tables_event_stream_ordering_triggers.py

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)