Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Faster joins: omit partial rooms from eager syncs until the resync completes #14870

Merged
merged 22 commits into from
Jan 23, 2023

Commits on Jan 20, 2023

  1. Allow AbstractSet in StrCollection

    Or else frozensets are excluded. This will be useful in an upcoming
    commit where I plan to change a function that accepts `List[str]` to
    accept `StrCollection` instead.
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    b6d283a View commit details
    Browse the repository at this point in the history
  2. rooms_to_exclude -> rooms_to_exclude_globally

    I am about to make use of this exclusion mechanism to exclude rooms for
    a specific user and a specific sync. This rename helps to clarify the
    distinction between the global config and the rooms to exclude for a
    specific sync.
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    cc87d2c View commit details
    Browse the repository at this point in the history
  3. Better function names for internal sync methods

    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    beeee9a View commit details
    Browse the repository at this point in the history
  4. Track a list of excluded rooms on SyncResultBuilder

    I plan to feed a list of partially stated rooms for this sync to ignore
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    9cf40f7 View commit details
    Browse the repository at this point in the history
  5. Exclude partial state rooms during eager sync

    using the mechanism established in the previous commit
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    12c11ae View commit details
    Browse the repository at this point in the history
  6. Track un-partial-state stream in sync tokens

    So that we can work out which rooms have become fully-stated during a
    given sync period.
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    538e399 View commit details
    Browse the repository at this point in the history
  7. Fix mutation of @cached return value

    This was fouling up a complement test added alongside this PR.
    Excluding a room would mean the set of forgotten rooms in the cache
    would be extended. This means that room could be erroneously considered
    forgotten in the future.
    
    Introduced in #12310, Synapse 1.57.0. I don't think this had any
    user-visible side effects (until now).
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    32b4730 View commit details
    Browse the repository at this point in the history
  8. SyncResultBuilder: track rooms to force as newly joined

    Similar plan as before. We've omitted rooms from certain sync responses;
    now we establish the mechanism to reintroduce them into future syncs.
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    372b3cc View commit details
    Browse the repository at this point in the history
  9. Read new field, to present rooms as newly joined

    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    fd44b78 View commit details
    Browse the repository at this point in the history
  10. Force un-partial-stated rooms to be newly-joined

    for eager incremental syncs only, provided they're still fully stated
    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    5cb32d1 View commit details
    Browse the repository at this point in the history
  11. Notify user stream listeners to wake up long polling syncs

    Mathieu Velten authored and David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    41c3b33 View commit details
    Browse the repository at this point in the history
  12. Changelog

    David Robertson committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    fbed1a7 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2023

  1. Merge branch 'develop' into dmr/eager-syncs-faster-joins

    David Robertson authored Jan 22, 2023
    Configuration menu
    Copy the full SHA
    817ab1d View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'origin/develop' into dmr/eager-syncs-fa…

    …ster-joins
    David Robertson committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    cb79ab7 View commit details
    Browse the repository at this point in the history
  3. Typo fix

    Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
    David Robertson and squahtx authored Jan 22, 2023
    Configuration menu
    Copy the full SHA
    f46590a View commit details
    Browse the repository at this point in the history
  4. Unnecessary list cast

    Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
    David Robertson and squahtx authored Jan 22, 2023
    Configuration menu
    Copy the full SHA
    adbf474 View commit details
    Browse the repository at this point in the history
  5. Rephrase comment

    Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
    David Robertson and squahtx authored Jan 22, 2023
    Configuration menu
    Copy the full SHA
    237b63d View commit details
    Browse the repository at this point in the history
  6. Another comment

    Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
    David Robertson and squahtx authored Jan 22, 2023
    Configuration menu
    Copy the full SHA
    2bb13df View commit details
    Browse the repository at this point in the history
  7. Fixup merge(?)

    David Robertson committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    9181ddc View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. Configuration menu
    Copy the full SHA
    995a2ef View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'origin/develop' into dmr/eager-syncs-fa…

    …ster-joins
    David Robertson committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    f1085a5 View commit details
    Browse the repository at this point in the history
  3. Fixup merge whoops

    Thanks MV :)
    
    Co-authored-by: Mathieu Velen <mathieuv@matrix.org>
    David Robertson and Mathieu Velen committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    b1b2dcd View commit details
    Browse the repository at this point in the history