Merge pull request #5221 from matrix-org/erikj/fix_worker_sytest

Fix get_max_topological_token to never return None
This commit is contained in:
Erik Johnston 2019-06-06 13:54:46 +01:00 committed by GitHub
commit 89d3d7b2c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

1
changelog.d/5221.bugfix Normal file
View file

@ -0,0 +1 @@
Fix race when backfilling in rooms with worker mode.

View file

@ -592,8 +592,18 @@ class StreamWorkerStore(EventsWorkerStore, SQLBaseStore):
)
def get_max_topological_token(self, room_id, stream_key):
"""Get the max topological token in a room before the given stream
ordering.
Args:
room_id (str)
stream_key (int)
Returns:
Deferred[int]
"""
sql = (
"SELECT max(topological_ordering) FROM events"
"SELECT coalesce(max(topological_ordering), 0) FROM events"
" WHERE room_id = ? AND stream_ordering < ?"
)
return self._execute(