Skip to content

Warm standby: follower must keep reading the stream while it reconciles a large graph #356

Closed

Description

@jsam

From the EN-12 part 1 review (#283): the follower reconciles a whole graph in spawn_blocking without reading the socket; the primary's send times out after max(timeout_ms, 10 s) and drops the connection, and the follower restarts the resync from scratch. Decouple socket reads from reconcile (bounded buffer with backpressure), so large graphs never cause a resync loop. Acceptance: resync of a graph 10x the measured 1M-fact case under steady commits completes on the first attempt.

Activity

  1. jsam commented on Oct 6, 2026

    @jsam
    ContributorAuthor

    Fixed by #391: the follower now keeps reading the replication stream while it reconciles a graph (bounded buffer with backpressure), so large graphs no longer cause a resync loop. A 10M-fact graph under steady commits resynced on the first attempt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions