Replace waitforpeertask with ethpeers method (#8009)

* 7582: Add waitForPeer method to PeerSelector and EthPeers

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Replace all usages of WaitForPeer[s]Task with new EthPeers.waitForPeer method

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Fix PivotBlockConfirmerTest

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: spotless

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Fix broken PivotBlockRetrieverTest

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Fix broken FastSyncActionsTest

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: spotless

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Fix issues after merge

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Put AbstractSyncTargetManager.waitForPeerAndThenSetSyncTarget code back separate thread to avoid infinite loop waiting for peers during acceptance tests

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Remove pivot block checks when waiting for peer in FastSyncActions

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Remove estimated chain height check from PivotBlockConfirmer when waiting for peers

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* 7582: Fix broken PivotBlockRetrieverTest

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* Use isSuitablePeer as peer selection criteria when waiting for a peer in AbstractRetryingPeerTask

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

* Remove MetricsSystem from PivotSelectorFromPeers

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>

---------

Signed-off-by: Matilda Clerke <matilda.clerke@consensys.net>
This commit is contained in:
Matilda-Clerke
2024-12-19 10:39:59 +11:00
committed by GitHub
parent 3b4136dac5
commit 320c4764ce
18 changed files with 122 additions and 540 deletions

View File

@@ -26,7 +26,6 @@ import org.hyperledger.besu.ethereum.eth.sync.fastsync.FastSyncState;
import org.hyperledger.besu.ethereum.eth.sync.fastsync.NoSyncRequiredException;
import org.hyperledger.besu.ethereum.eth.sync.fastsync.PivotSelectorFromPeers;
import org.hyperledger.besu.ethereum.eth.sync.state.SyncState;
import org.hyperledger.besu.plugin.services.MetricsSystem;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -56,7 +55,6 @@ public class BFTPivotSelectorFromPeers extends PivotSelectorFromPeers {
* @param ethContext the eth context
* @param syncConfig the sync config
* @param syncState the sync state
* @param metricsSystem the metrics
* @param protocolContext the protocol context
* @param nodeKey the node key
* @param blockHeader the block header
@@ -65,11 +63,10 @@ public class BFTPivotSelectorFromPeers extends PivotSelectorFromPeers {
final EthContext ethContext,
final SynchronizerConfiguration syncConfig,
final SyncState syncState,
final MetricsSystem metricsSystem,
final ProtocolContext protocolContext,
final NodeKey nodeKey,
final BlockHeader blockHeader) {
super(ethContext, syncConfig, syncState, metricsSystem);
super(ethContext, syncConfig, syncState);
this.protocolContext = protocolContext;
this.blockHeader = blockHeader;
this.nodeKey = nodeKey;

View File

@@ -33,7 +33,6 @@ import org.hyperledger.besu.ethereum.eth.sync.SynchronizerConfiguration;
import org.hyperledger.besu.ethereum.eth.sync.fastsync.FastSyncState;
import org.hyperledger.besu.ethereum.eth.sync.fastsync.NoSyncRequiredException;
import org.hyperledger.besu.ethereum.eth.sync.state.SyncState;
import org.hyperledger.besu.plugin.services.MetricsSystem;
import java.util.ArrayList;
import java.util.List;
@@ -55,7 +54,6 @@ public class QbftPivotSelectorTest {
@Mock private ProtocolContext protocolContext;
@Mock private BftContext bftContext;
@Mock private SyncState syncState;
@Mock private MetricsSystem metricsSystem;
@Mock private EthContext ethContext;
@Mock private EthPeers ethPeers;
@Mock private ValidatorProvider validatorProvider;
@@ -80,13 +78,7 @@ public class QbftPivotSelectorTest {
when(validatorProvider.getValidatorsAtHead()).thenReturn(validatorList);
BFTPivotSelectorFromPeers pivotSelector =
new BFTPivotSelectorFromPeers(
ethContext,
syncConfig,
syncState,
metricsSystem,
protocolContext,
nodeKey,
blockHeader);
ethContext, syncConfig, syncState, protocolContext, nodeKey, blockHeader);
Optional<FastSyncState> pivotState = pivotSelector.selectNewPivotBlock();
assertThat(pivotState.isEmpty()).isTrue();
}
@@ -104,13 +96,7 @@ public class QbftPivotSelectorTest {
when(validatorProvider.getValidatorsAtHead()).thenReturn(validatorList);
BFTPivotSelectorFromPeers pivotSelector =
new BFTPivotSelectorFromPeers(
ethContext,
syncConfig,
syncState,
metricsSystem,
protocolContext,
nodeKey,
blockHeader);
ethContext, syncConfig, syncState, protocolContext, nodeKey, blockHeader);
try {
Optional<FastSyncState> pivotState = pivotSelector.selectNewPivotBlock();
@@ -126,13 +112,7 @@ public class QbftPivotSelectorTest {
when(validatorProvider.nodeIsValidator(any())).thenReturn(false);
BFTPivotSelectorFromPeers pivotSelector =
new BFTPivotSelectorFromPeers(
ethContext,
syncConfig,
syncState,
metricsSystem,
protocolContext,
nodeKey,
blockHeader);
ethContext, syncConfig, syncState, protocolContext, nodeKey, blockHeader);
Optional<FastSyncState> pivotState = pivotSelector.selectNewPivotBlock();
assertThat(pivotState.isEmpty()).isTrue();
@@ -145,13 +125,7 @@ public class QbftPivotSelectorTest {
when(blockHeader.getNumber()).thenReturn(10L);
BFTPivotSelectorFromPeers pivotSelector =
new BFTPivotSelectorFromPeers(
ethContext,
syncConfig,
syncState,
metricsSystem,
protocolContext,
nodeKey,
blockHeader);
ethContext, syncConfig, syncState, protocolContext, nodeKey, blockHeader);
Optional<FastSyncState> pivotState = pivotSelector.selectNewPivotBlock();
assertThat(pivotState.isEmpty()).isTrue();