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:
commit
89d3d7b2c0
|
@ -0,0 +1 @@
|
||||||
|
Fix race when backfilling in rooms with worker mode.
|
|
@ -592,8 +592,18 @@ class StreamWorkerStore(EventsWorkerStore, SQLBaseStore):
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_max_topological_token(self, room_id, stream_key):
|
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 = (
|
sql = (
|
||||||
"SELECT max(topological_ordering) FROM events"
|
"SELECT coalesce(max(topological_ordering), 0) FROM events"
|
||||||
" WHERE room_id = ? AND stream_ordering < ?"
|
" WHERE room_id = ? AND stream_ordering < ?"
|
||||||
)
|
)
|
||||||
return self._execute(
|
return self._execute(
|
||||||
|
|
Loading…
Reference in New Issue