Skip to content

perf(engine): Make consensus WAL appends non-blocking#1551

Open
Raneet10 wants to merge 2 commits into
circlefin:mainfrom
Raneet10:raneet10/async-append-wal-new
Open

perf(engine): Make consensus WAL appends non-blocking#1551
Raneet10 wants to merge 2 commits into
circlefin:mainfrom
Raneet10:raneet10/async-append-wal-new

Conversation

@Raneet10

Copy link
Copy Markdown

Closes: #1435


WAL appends in the consensus routine were blocking since each Effect::WalAppend issued a synchronous ractor::call! to the WAL actor. Since WalMsg::Append is an asynchronous write by nature (and only WalMsg::Flush must be synchronous), this blocking was unnecessary overhead. Hence, the WAL appends are now queued and awaited only before flush operation.

PR author checklist

Contribution eligibility

  • I am a core contributor, OR I have been explicitly assigned to the linked issue
  • I have read CONTRIBUTING.md and my PR complies with all requirements
  • I understand that PRs not meeting these requirements will be closed without review

For all contributors

For external contributors

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.

Consensus WAL should not block upon asynchronous writes

1 participant