synapse icon indicating copy to clipboard operation
synapse copied to clipboard

Faster joins: `/messages` should not block

Open richvdh opened this issue 3 years ago • 4 comments

Currently, attempts to backfill block until state resync completes. It would be nice if we had a partial-state equivalent for backfill, so that users can see history before the resync completes.

richvdh avatar Aug 11 '22 13:08 richvdh

Do we need partial-state versions of /state_ids and /state too? Otherwise I could see us spending as much time backfilling as it would take to do a full join of the room.

squahtx avatar Aug 12 '22 10:08 squahtx

Do we need partial-state versions of /state_ids and /state too?

I think a partial-state version of /state_ids is the empty set? But yes, we can't just rely on the current implementation.

richvdh avatar Aug 12 '22 12:08 richvdh

(of course, faster backfill is not inherently tied to faster joins - it's extending the "partial state" concept beyond joins and into backfill. As if it weren't already complicated enough.)

richvdh avatar Aug 12 '22 12:08 richvdh

This may end up being intertwined with other work on backfill which seeks to reduce the amount of state we need to download, such as https://github.com/matrix-org/synapse/issues/13618.

richvdh avatar Oct 04 '22 13:10 richvdh