You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge durability actors to reduce per-tx scheduler handoffs (#4767)
# Description of Changes
Before this change, local durability had two workers. The first worker
reordered slightly out-of-order submissions by `TxOffset` and
materialized the commitlog payload, and then forwarded the payload to
the 2nd worker which wrote to the commitlog.
The problem was that the first worker did such little work that it was
mostly parked, and so every transaction would pay the cost of waking it
up. And for very high throughput workloads, this cost was significant
and on the critical path - the database thread.
This patch merges the two workers so that the database thread feeds a
mostly non-idle task.
# API and ABI breaking changes
N/A
# Expected complexity level and risk
I'll call it a `3` mainly because it touches the durability layer in
some capacity, although overall it's a simplification since it removes
the transaction reordering logic that previously existed to paper over a
race condition that @kim had originally fixed in #4661.
# Testing
Pure refactor
0 commit comments