Skip to content

kv: append log entries outside of raft state machine loop #94853

@nvb

Description

@nvb

Extracted from #17500.

After #94165, raft log entry disk writes are asynchronous with respect to the raft state machine loop. However, the (non-durable) engine access for raft log appends is still performed inline. The async storage writes interface permits us to extract all of this work onto a separate goroutine.

This would provide two benefits:

  1. faster state machine loop iteration => less interference between entries => lower latency
  2. larger append batches => more efficient log appends => higher throughput

Jira issue: CRDB-23188

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-kv-replicationRelating to Raft, consensus, and coordination.C-performancePerf of queries or internals. Solution not expected to change functional behavior.T-kvKV Team

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions