From 76cdf13c4844c77e870bab9e93a6ff6ae4f3e7a5 Mon Sep 17 00:00:00 2001 From: Bruno Deferrari Date: Thu, 21 Mar 2024 20:52:12 -0300 Subject: [PATCH] fix(bootstrap): fix num_accounts query retry logic --- .../transition_frontier_sync_ledger_snarked_actions.rs | 9 ++++----- .../transition_frontier_sync_ledger_snarked_effects.rs | 4 ++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_actions.rs b/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_actions.rs index 1ae5b5f95..54aa773e8 100644 --- a/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_actions.rs +++ b/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_actions.rs @@ -160,9 +160,9 @@ impl redux::EnablingCondition for TransitionFrontierSyncLedgerSnar // True if the next queued query is NumAccounts let check_num_accounts = match ledger { TransitionFrontierSyncLedgerSnarkedState::Pending { - pending_num_accounts, + pending_num_accounts: None, .. - } => ledger.is_num_accounts_query_next() && pending_num_accounts.is_none(), + } => ledger.is_num_accounts_query_next(), _ => false, }; @@ -188,7 +188,6 @@ impl redux::EnablingCondition for TransitionFrontierSyncLedgerSnar .map(|peer_rpc_state| matches!(peer_rpc_state, PeerRpcState::Init { .. })) .unwrap_or(false) }), - // TODO(sync): do we need Retry for this one? TransitionFrontierSyncLedgerSnarkedAction::PeerQueryNumAccountsRetry { peer_id } => { None.or_else(|| { let target_best_tip = state.transition_frontier.sync.best_tip()?; @@ -198,9 +197,9 @@ impl redux::EnablingCondition for TransitionFrontierSyncLedgerSnar // True if the next queued query is NumAccounts let check_num_accounts = match ledger { TransitionFrontierSyncLedgerSnarkedState::Pending { - pending_num_accounts, + pending_num_accounts: Some(_), .. - } => ledger.is_num_accounts_query_next() && pending_num_accounts.is_none(), + } => ledger.is_num_accounts_query_next(), _ => false, }; diff --git a/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_effects.rs b/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_effects.rs index b73cbcebc..f633424a4 100644 --- a/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_effects.rs +++ b/node/src/transition_frontier/sync/ledger/snarked/transition_frontier_sync_ledger_snarked_effects.rs @@ -108,6 +108,10 @@ impl TransitionFrontierSyncLedgerSnarkedAction { TransitionFrontierSyncLedgerSnarkedAction::PeerQueryNumAccountsInit { peer_id: *peer_id, }, + ) || store.dispatch( + TransitionFrontierSyncLedgerSnarkedAction::PeerQueryNumAccountsRetry { + peer_id: *peer_id, + }, ) { return; }