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

Faster room joins: avoid blocking when pulling events with missing prevs #13355

Commits on Jul 21, 2022

  1. Skip soft fail checks for rooms with partial state

    When a room has the partial state flag, we may not have an accurate
    `m.room.member` event for event senders in the room's current state, and
    so cannot perform soft fail checks correctly. Skip the soft fail check
    entirely in this case.
    
    As an alternative, we could block until we have full state, but that
    would prevent us from receiving incoming events over federation, which
    is undesirable.
    
    Signed-off-by: Sean Quah <[email protected]>
    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    ad5d75e View commit details
    Browse the repository at this point in the history
  2. Make the partial_state parameter to compute_event_context stricter

    Previously, `partial_state=False` either meant "full state" or
    "calculate the flag yourself", depending on whether
    `state_ids_before_event` was provided. Split out the latter meaning into
    `partial_state=None`.
    
    Signed-off-by: Sean Quah <[email protected]>
    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    ff8f6cf View commit details
    Browse the repository at this point in the history
  3. Add partial_state parameter to _process_received_pdu

    Signed-off-by: Sean Quah <[email protected]>
    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    f7c9a5a View commit details
    Browse the repository at this point in the history
  4. Add await_full_state parameter to get_state_groups_ids, so that i…

    …t can return partial state
    
    Signed-off-by: Sean Quah <[email protected]>
    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    bca5a17 View commit details
    Browse the repository at this point in the history
  5. Allow _resolve_state_at_missing_prevs to return partial state, othe…

    …rwise we can block when receiving or backfilling events over federation
    
    Signed-off-by: Sean Quah <[email protected]>
    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    1d48d23 View commit details
    Browse the repository at this point in the history
  6. Retry persisting events from federation when we lose the partial stat…

    …e race
    
    Now that we persist events with partial state, we have to handle
    `PartialStateConflictError`s, by retrying just once.
    
    Signed-off-by: Sean Quah <[email protected]>
    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    6517210 View commit details
    Browse the repository at this point in the history
  7. Add newsfile

    Sean Quah committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    b879d8c View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2022

  1. Configuration menu
    Copy the full SHA
    7d55d88 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7870d44 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2022

  1. Update synapse/handlers/federation_event.py

    Co-authored-by: Richard van der Hoff <[email protected]>
    squahtx and richvdh committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    765614f View commit details
    Browse the repository at this point in the history