Skip to content

Instantly share code, notes, and snippets.

@kjnilsson
Last active October 14, 2024 15:02
Show Gist options
  • Save kjnilsson/f5436e17a3027d582f9b02b30437d14e to your computer and use it in GitHub Desktop.
Save kjnilsson/f5436e17a3027d582f9b02b30437d14e to your computer and use it in GitHub Desktop.
sequenceDiagram
    participant ra-server
    participant wal
    participant segment-writer

    loop until wal full
        ra-server->>+wal: write(Index=1..N, Term=T)
        wal->>wal: write-batch([1]
        wal->>-ra-server: written event: Term=T, Range=(1, N)
    end
    wal->>+segment-writer: flush-wal-ranges
    segment-writer-->segment-writer: flush to segment files
    segment-writer->>ra-server: notify flushed segments
    ra-server-->ra-server: update mem-table-ranges
    ra-server->>ets-server: delete range from mem-table

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