Skip to content
Snippets Groups Projects
Commit 8fbd3a4f authored by Koute's avatar Koute Committed by GitHub
Browse files

Do not leak active head data in statement distribution (#3519)

parent 86f6a173
No related merge requests found
...@@ -1847,6 +1847,16 @@ impl StatementDistribution { ...@@ -1847,6 +1847,16 @@ impl StatementDistribution {
FromOverseer::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate { activated, deactivated })) => { FromOverseer::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate { activated, deactivated })) => {
let _timer = metrics.time_active_leaves_update(); let _timer = metrics.time_active_leaves_update();
for deactivated in deactivated {
if active_heads.remove(&deactivated).is_some() {
tracing::trace!(
target: LOG_TARGET,
hash = ?deactivated,
"Deactivating leaf",
);
}
}
for activated in activated { for activated in activated {
let relay_parent = activated.hash; let relay_parent = activated.hash;
let span = PerLeafSpan::new(activated.span, "statement-distribution"); let span = PerLeafSpan::new(activated.span, "statement-distribution");
...@@ -1862,18 +1872,6 @@ impl StatementDistribution { ...@@ -1862,18 +1872,6 @@ impl StatementDistribution {
active_heads.entry(relay_parent) active_heads.entry(relay_parent)
.or_insert(ActiveHeadData::new(session_info.validators.clone(), session_index, span)); .or_insert(ActiveHeadData::new(session_info.validators.clone(), session_index, span));
active_heads.retain(|h, _| {
let live = !deactivated.contains(h);
if !live {
tracing::trace!(
target: LOG_TARGET,
hash = ?h,
"Deactivating leaf",
);
}
live
});
} }
} }
FromOverseer::Signal(OverseerSignal::BlockFinalized(..)) => { FromOverseer::Signal(OverseerSignal::BlockFinalized(..)) => {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment