diff --git a/changelog.d/8256.misc b/changelog.d/8256.misc new file mode 100644 index 000000000..bf0ba7673 --- /dev/null +++ b/changelog.d/8256.misc @@ -0,0 +1 @@ +Track the latest event for every destination and room for catch-up after federation outage. diff --git a/synapse/storage/databases/main/schema/delta/58/15_catchup_destination_rooms.sql b/synapse/storage/databases/main/schema/delta/58/15_catchup_destination_rooms.sql index 7f173f10d..ebfbed792 100644 --- a/synapse/storage/databases/main/schema/delta/58/15_catchup_destination_rooms.sql +++ b/synapse/storage/databases/main/schema/delta/58/15_catchup_destination_rooms.sql @@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS destination_rooms ( -- the ID of the room in question room_id TEXT NOT NULL REFERENCES rooms (room_id), -- the stream_ordering of the event - stream_ordering INTEGER NOT NULL, + stream_ordering BIGINT NOT NULL, PRIMARY KEY (destination, room_id) -- We don't declare a foreign key on stream_ordering here because that'd mean -- we'd need to either maintain an index (expensive) or do a table scan of