diff options
author | Eric Eastwood <erice@element.io> | 2021-09-28 21:23:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-28 21:23:16 -0500 |
commit | 9fd057b8c5a8c5748e7d8137d1485c38abd9602f (patch) | |
tree | cc5217c451f43f2cd61da15f851e3d0c7fab664d /synapse/storage/databases/main | |
parent | Update utility code to handle C implementations of frozendict (#10902) (diff) | |
download | synapse-9fd057b8c5a8c5748e7d8137d1485c38abd9602f.tar.xz |
Ensure `(room_id, next_batch_id)` is unique to avoid cross-talk/conflicts between batches (MSC2716) (#10877)
Part of [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) Part of https://github.com/matrix-org/synapse/issues/10737
Diffstat (limited to 'synapse/storage/databases/main')
-rw-r--r-- | synapse/storage/databases/main/room_batch.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/synapse/storage/databases/main/room_batch.py b/synapse/storage/databases/main/room_batch.py index a383388757..300a563c9e 100644 --- a/synapse/storage/databases/main/room_batch.py +++ b/synapse/storage/databases/main/room_batch.py @@ -18,7 +18,9 @@ from synapse.storage._base import SQLBaseStore class RoomBatchStore(SQLBaseStore): - async def get_insertion_event_by_batch_id(self, batch_id: str) -> Optional[str]: + async def get_insertion_event_by_batch_id( + self, room_id: str, batch_id: str + ) -> Optional[str]: """Retrieve a insertion event ID. Args: @@ -30,7 +32,7 @@ class RoomBatchStore(SQLBaseStore): """ return await self.db_pool.simple_select_one_onecol( table="insertion_events", - keyvalues={"next_batch_id": batch_id}, + keyvalues={"room_id": room_id, "next_batch_id": batch_id}, retcol="event_id", allow_none=True, ) |