mirror of
https://mau.dev/maunium/synapse.git
synced 2024-09-06 01:22:16 +00:00
Do not rely on streaming events, as media repo doesn't
This commit is contained in:
parent
4e2a072a05
commit
187dc6ad02
@ -448,21 +448,32 @@ class RoomWorkerStore(SQLBaseStore):
|
|||||||
"""
|
"""
|
||||||
mxc_re = re.compile("^mxc://([^/]+)/([^/#?]+)")
|
mxc_re = re.compile("^mxc://([^/]+)/([^/#?]+)")
|
||||||
|
|
||||||
next_token = self.get_current_events_token() + 1
|
next_token = None
|
||||||
local_media_mxcs = []
|
local_media_mxcs = []
|
||||||
remote_media_mxcs = []
|
remote_media_mxcs = []
|
||||||
|
|
||||||
while next_token:
|
while True:
|
||||||
sql = """
|
if next_token is None:
|
||||||
SELECT stream_ordering, json FROM events
|
sql = """
|
||||||
JOIN event_json USING (room_id, event_id)
|
SELECT stream_ordering, json FROM events
|
||||||
WHERE room_id = ?
|
JOIN event_json USING (room_id, event_id)
|
||||||
AND stream_ordering < ?
|
WHERE room_id = ?
|
||||||
AND contains_url = ? AND outlier = ?
|
AND contains_url = ? AND outlier = ?
|
||||||
ORDER BY stream_ordering DESC
|
ORDER BY stream_ordering DESC
|
||||||
LIMIT ?
|
LIMIT ?
|
||||||
"""
|
"""
|
||||||
txn.execute(sql, (room_id, next_token, True, False, 100))
|
txn.execute(sql, (room_id, True, False, 100))
|
||||||
|
else:
|
||||||
|
sql = """
|
||||||
|
SELECT stream_ordering, json FROM events
|
||||||
|
JOIN event_json USING (room_id, event_id)
|
||||||
|
WHERE room_id = ?
|
||||||
|
AND stream_ordering < ?
|
||||||
|
AND contains_url = ? AND outlier = ?
|
||||||
|
ORDER BY stream_ordering DESC
|
||||||
|
LIMIT ?
|
||||||
|
"""
|
||||||
|
txn.execute(sql, (room_id, next_token, True, False, 100))
|
||||||
|
|
||||||
next_token = None
|
next_token = None
|
||||||
for stream_ordering, content_json in txn:
|
for stream_ordering, content_json in txn:
|
||||||
@ -484,6 +495,9 @@ class RoomWorkerStore(SQLBaseStore):
|
|||||||
else:
|
else:
|
||||||
remote_media_mxcs.append((hostname, media_id))
|
remote_media_mxcs.append((hostname, media_id))
|
||||||
|
|
||||||
|
if next_token is None:
|
||||||
|
break
|
||||||
|
|
||||||
return local_media_mxcs, remote_media_mxcs
|
return local_media_mxcs, remote_media_mxcs
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user