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

Wait for streams to catch up when processing HTTP replication. #14820

Merged
merged 10 commits into from
Jan 18, 2023

Commits on Jan 17, 2023

  1. Configuration menu
    Copy the full SHA
    a2d8ed5 View commit details
    Browse the repository at this point in the history
  2. Wait for streams to catch up when processing HTTP replication.

    This should hopefully mitigate a class of races where data gets out of
    sync due a HTTP replication request racing with the replication streams.
    erikjohnston committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    e36ff7b View commit details
    Browse the repository at this point in the history
  3. Don't wait for streams when asking for stream updates

    Otherwise we can deadlock as we wait for the positions we are asking
    for.
    erikjohnston committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    7f2700b View commit details
    Browse the repository at this point in the history
  4. Send out POSITION commands for all streams

    This is so that if a stream advances their position *without* writing a
    row to the stream, other instances will get told about the updated
    position quickly anyway.
    erikjohnston committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    473cc10 View commit details
    Browse the repository at this point in the history
  5. Change ID generator to return position of last write

    This is already true when asking for stream positions of other
    instances, but for our own instance we have fudged it. Changing this
    should be fine (it was just an optimisation), and I don't think it
    should have much impact in practice at all.
    
    The reason to do this is so that when tell remotes what our current
    position is we only include *our* writes, rather than writes of other
    instances. This reduces delays when the remote instance is waiting for
    stream positions to update. In practice, this is probably only a problem
    for tests, though we may as well do it for all of them.
    erikjohnston committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    a03ee6e View commit details
    Browse the repository at this point in the history
  6. Newsfile

    erikjohnston committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    6edfd62 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2023

  1. Make ClassVar

    erikjohnston committed Jan 18, 2023
    Configuration menu
    Copy the full SHA
    01ae502 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ace2b8c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    20590ce View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7a0a51e View commit details
    Browse the repository at this point in the history