Skip to content
This repository was archived by the owner on Jan 12, 2020. It is now read-only.
This repository was archived by the owner on Jan 12, 2020. It is now read-only.

Log Compaction #25

Description

@mgodave

Design Proposal:

  1. Leader detects that the nextEntry is not in it's log and sets 'contains_snapshot' field on next AppendEntries RPC request.
  2. Follower reads the 'contains_snapshot' field and transitions to a Follower' state.
  3. Follower initiates a pull of the snapshot form the Leader (over HTTP for a first cut, pluggable transport later)
    • Follower' services AppendEntries RPC calls in a speculative manner, accepting all entries assuming the snapshot has been applied.
    • No entries are committed until the snapshot is downloaded and applied
    • After the snapshot is downloaded and applied Follower' applied the commits and transitions back to Follower

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions