Skip to content

docs: parallel WAL writes and delta shipping to replicas - #1746

Open
as51340 wants to merge 2 commits into
release/3.13from
feat/parallel-repl
Open

docs: parallel WAL writes and delta shipping to replicas#1746
as51340 wants to merge 2 commits into
release/3.13from
feat/parallel-repl

Conversation

@as51340

@as51340 as51340 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Release note

Commits on a MAIN instance with replicas are faster: MAIN now encodes a
transaction for every replica in parallel with writing its own WAL, instead of
doing the WAL write and each replica in turn. Commit latency no longer grows
linearly with the number of registered replicas. Durability still gates
replication — a replica only receives the transaction end after MAIN's WAL write
succeeded — and per-replica ordering, WAL order, and the reported SYNC /
STRICT_SYNC failures are unchanged. Each replica also gets a separate background
worker for state checks and recovery, so a long recovery no longer delays
replication of new transactions.

Related product PRs

Checklist:

  • Add appropriate milestone (current release cycle)
  • Add bugfix or feature label, based on the product PR type you're documenting
  • Make sure all relevant tech details are documented
    • Update reference pages — n/a, no flags / functions / clauses / metrics added
    • Search for the feature you are working on (mentions) and make updates if needed
    • Provide a basic example of usage — n/a, internals change with no user-facing API
    • In case your feature is an Enterprise one, list it under ME page — n/a
  • Check all content with Grammarly
  • Perform a self-review of my code
  • The build passes locally
  • My changes generate no new warnings or errors

Document the new commit path on MAIN: the deltas of a transaction are
encoded for every replica in parallel with MAIN's own WAL write, instead
of the WAL write and each replica running in turn.

- how-replication-works: new "Parallel WAL writes and delta shipping"
  section covering the durability gate, preserved per-replica ordering
  and WAL order, and per-replica failure containment; note that both 2PC
  phases fan out across STRICT_SYNC replicas; correct the ASYNC section,
  which claimed one background thread per replica.
- best-practices: MAIN keeps two background threads per registered
  replica, so leave CPU headroom when registering many.
- release-notes: v3.13.0 improvement entry for memgraph#4645.
@vercel

vercel Bot commented Sep 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
documentation Ready Ready Preview Sep 2, 2026 5:58am UTC

Request Review

@as51340 as51340 self-assigned this Sep 2, 2026
@as51340 as51340 added this to the 3.13 milestone Sep 2, 2026
@as51340 as51340 added the feature Documentation related to a new product feature of feature update label Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Documentation related to a new product feature of feature update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant