Skip to content

Commit c2e4e5d

Browse files
committed
Remove unnecessary readings during maintenance
1 parent e106e54 commit c2e4e5d

File tree

1 file changed

+10
-6
lines changed
  • substrate/client/statement-store/src

1 file changed

+10
-6
lines changed

substrate/client/statement-store/src/lib.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -670,21 +670,25 @@ impl Store {
670670
/// Perform periodic store maintenance
671671
pub fn maintain(&self) {
672672
log::trace!(target: LOG_TARGET, "Started store maintenance");
673-
let deleted = self.index.write().maintain(self.timestamp());
673+
let (deleted, active_count, expired_count): (Vec<_>, usize, usize) = {
674+
let mut index = self.index.write();
675+
let deleted = index.maintain(self.timestamp());
676+
(deleted, index.entries.len(), index.expired.len())
677+
};
674678
let deleted: Vec<_> =
675679
deleted.into_iter().map(|hash| (col::EXPIRED, hash.to_vec(), None)).collect();
676-
let count = deleted.len() as u64;
680+
let deleted_count = deleted.len() as u64;
677681
if let Err(e) = self.db.commit(deleted) {
678682
log::warn!(target: LOG_TARGET, "Error writing to the statement database: {:?}", e);
679683
} else {
680-
self.metrics.report(|metrics| metrics.statements_pruned.inc_by(count));
684+
self.metrics.report(|metrics| metrics.statements_pruned.inc_by(deleted_count));
681685
}
682686
log::trace!(
683687
target: LOG_TARGET,
684688
"Completed store maintenance. Purged: {}, Active: {}, Expired: {}",
685-
count,
686-
self.index.read().entries.len(),
687-
self.index.read().expired.len()
689+
deleted_count,
690+
active_count,
691+
expired_count
688692
);
689693
}
690694

0 commit comments

Comments
 (0)