Buffer incoming engine messages if pruner is active #8203
Labels
A-consensus
Related to the consensus engine
C-enhancement
New feature or request
C-perf
A change motivated by improving speed, memory usage or disk footprint
Describe the feature
currently, pruning data and engine message handling are mutually exclusive because we can't handle them concurrently due to exclusive db lock.
rn we're dropping messages in edge cases, which is not ideal.
we expect the pruner to be active for at most a few 100ms, so we should be able to delay engine message processing by buffering them in a Vecdeque and popping them in poll loop:
reth/crates/consensus/beacon/src/engine/mod.rs
Line 1870 in a8bbab2
we can change this to, draining the incoming messages and storing them in a vecque temporarily, and proceed to pop from the vecdque once we're ready to handle them
Additional context
No response
The text was updated successfully, but these errors were encountered: