Jelajahi Sumber

Process tower after warping bank forks (#30467)

This helps ensure tower and bank forks are in sync in terms of root slot
Brennan 2 tahun lalu
induk
melakukan
7847661511
1 mengubah file dengan 5 tambahan dan 2 penghapusan
  1. 5 2
      core/src/validator.rs

+ 5 - 2
core/src/validator.rs

@@ -1693,8 +1693,6 @@ fn maybe_warp_slot(
     accounts_background_request_sender: &AbsRequestSender,
 ) -> Result<(), String> {
     if let Some(warp_slot) = config.warp_slot {
-        process_blockstore.process()?;
-
         let mut bank_forks = bank_forks.write().unwrap();
 
         let working_bank = bank_forks.working_bank();
@@ -1750,6 +1748,11 @@ fn maybe_warp_slot(
             "created snapshot: {}",
             full_snapshot_archive_info.path().display()
         );
+
+        drop(bank_forks);
+        // Process blockstore after warping bank forks to make sure tower and
+        // bank forks are in sync.
+        process_blockstore.process()?;
     }
     Ok(())
 }