Skip to content

[NOMERGE] op-conductor: add configurable raft-mdb backend#35

Open
BrianBland wants to merge 1 commit intodevelopfrom
brianbland/conductor-raft-mdb
Open

[NOMERGE] op-conductor: add configurable raft-mdb backend#35
BrianBland wants to merge 1 commit intodevelopfrom
brianbland/conductor-raft-mdb

Conversation

@BrianBland
Copy link
Copy Markdown

@BrianBland BrianBland commented May 5, 2026

Adds an optional raft-mdb backend for op-conductor. This is actually the default recommended backend for hashicorp/raft, and is much more performant than bbolt, but requires CGO.

Changes some default raft parameters:

  • RAFT_SNAPSHOT_INTERVAL: 120s -> 1s
  • RAFT_SNAPSHOT_THRESHOLD: 8192 -> 48
  • RAFT_TRAILING_LOGS: 10240 -> 32

These new defaults are better aligned with the use of the conductor fsm logs, which are used to simply record the latest block payload. This can probably be further lowered in a later update.

Adds more metrics to op-conductor to better inspect how time is spent during the payload commit process:

  • commit_marshal_duration_seconds
  • commit_raft_apply_duration_seconds
  • commit_payload_size_bytes
  • fsm_apply_duration_seconds
  • raft_log_store_duration_seconds

@cb-heimdall
Copy link
Copy Markdown
Collaborator

cb-heimdall commented May 5, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@BrianBland BrianBland changed the title op-conductor: add configurable raft-mdb backend [NOMERGE] op-conductor: add configurable raft-mdb backend May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants