mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
State cache tweaks (#7095)
Backport of: - https://github.com/sigp/lighthouse/pull/7067 For: - https://github.com/sigp/lighthouse/issues/7039 - Prevent writing to state cache when migrating the database - Add `state-cache-headroom` flag to control pruning - Prune old epoch boundary states ahead of mid-epoch states - Never prune head block's state - Avoid caching ancestor states unless they are on an epoch boundary - Log when states enter/exit the cache Co-authored-by: Eitan Seri-Levi <eserilev@ucsc.edu>
This commit is contained in:
@@ -29,6 +29,9 @@ use types::{
|
||||
IndexedAttestation, KzgProof, ProposerPreparationData, SignedBeaconBlock, Slot, Uint256,
|
||||
};
|
||||
|
||||
// When set to true, cache any states fetched from the db.
|
||||
pub const CACHE_STATE_IN_TESTS: bool = true;
|
||||
|
||||
#[derive(Default, Debug, PartialEq, Clone, Deserialize, Decode)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct PowBlock {
|
||||
@@ -546,10 +549,15 @@ impl<E: EthSpec> Tester<E> {
|
||||
.unwrap()
|
||||
{
|
||||
let parent_state_root = parent_block.state_root();
|
||||
|
||||
let mut state = self
|
||||
.harness
|
||||
.chain
|
||||
.get_state(&parent_state_root, Some(parent_block.slot()))
|
||||
.get_state(
|
||||
&parent_state_root,
|
||||
Some(parent_block.slot()),
|
||||
CACHE_STATE_IN_TESTS,
|
||||
)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user