PIBD - Revert earlier pibd_aborted flag in sync logic (#3757)

* revert earlier pibd_aborted flag in sync logic

* formatting
This commit is contained in:
Yeastplume 2023-06-22 14:39:19 +01:00 committed by GitHub
parent 45ebc8ae50
commit 2273ea986d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -37,6 +37,7 @@ pub struct StateSync {
prev_state_sync: Option<DateTime<Utc>>, prev_state_sync: Option<DateTime<Utc>>,
state_sync_peer: Option<Arc<Peer>>, state_sync_peer: Option<Arc<Peer>>,
pibd_aborted: bool,
earliest_zero_pibd_peer_time: Option<DateTime<Utc>>, earliest_zero_pibd_peer_time: Option<DateTime<Utc>>,
} }
@ -52,6 +53,7 @@ impl StateSync {
chain, chain,
prev_state_sync: None, prev_state_sync: None,
state_sync_peer: None, state_sync_peer: None,
pibd_aborted: false,
earliest_zero_pibd_peer_time: None, earliest_zero_pibd_peer_time: None,
} }
} }
@ -62,6 +64,12 @@ impl StateSync {
self.earliest_zero_pibd_peer_time = t; self.earliest_zero_pibd_peer_time = t;
} }
/// Flag to abort PIBD process within StateSync, intentionally separate from `sync_state`,
/// which can be reset between calls
pub fn set_pibd_aborted(&mut self) {
self.pibd_aborted = true;
}
/// Check whether state sync should run and triggers a state download when /// Check whether state sync should run and triggers a state download when
/// it's time (we have all headers). Returns true as long as state sync /// it's time (we have all headers). Returns true as long as state sync
/// needs monitoring, false when it's either done or turned off. /// needs monitoring, false when it's either done or turned off.
@ -90,7 +98,7 @@ impl StateSync {
let using_pibd = !matches!( let using_pibd = !matches!(
self.sync_state.status(), self.sync_state.status(),
SyncStatus::TxHashsetPibd { aborted: true, .. }, SyncStatus::TxHashsetPibd { aborted: true, .. },
); ) && !self.pibd_aborted;
// Check whether we've errored and should restart pibd // Check whether we've errored and should restart pibd
if using_pibd { if using_pibd {
@ -315,6 +323,7 @@ impl StateSync {
.update_pibd_progress(true, true, 0, 1, &archive_header); .update_pibd_progress(true, true, 0, 1, &archive_header);
self.sync_state self.sync_state
.set_sync_error(chain::Error::AbortingPIBDError); .set_sync_error(chain::Error::AbortingPIBDError);
self.set_pibd_aborted();
return false; return false;
} }
} else { } else {