Skip to content

Commit a62b744

Browse files
authored
avoid two instances of EarliestAvailableBlockSlot and minor improvements (#9906)
1 parent b7d5f1b commit a62b744

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

services/beaconchain/src/main/java/tech/pegasys/teku/services/beaconchain/BeaconChainController.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ public class BeaconChainController extends Service implements BeaconChainControl
327327
protected volatile AttestationManager attestationManager;
328328
protected volatile SignatureVerificationService signatureVerificationService;
329329
protected volatile CombinedChainDataClient combinedChainDataClient;
330+
protected volatile EarliestAvailableBlockSlot earliestAvailableBlockSlot;
330331
protected volatile Eth1DataCache eth1DataCache;
331332
protected volatile SlotProcessor slotProcessor;
332333
protected volatile OperationPool<AttesterSlashing> attesterSlashingPool;
@@ -1182,7 +1183,7 @@ private boolean getLivenessTrackingEnabled(final BeaconChainConfiguration beacon
11821183

11831184
protected void initCombinedChainDataClient() {
11841185
LOG.debug("BeaconChainController.initCombinedChainDataClient()");
1185-
final EarliestAvailableBlockSlot earliestAvailableBlockSlot =
1186+
earliestAvailableBlockSlot =
11861187
new EarliestAvailableBlockSlot(
11871188
storageQueryChannel,
11881189
timeProvider,
@@ -1585,10 +1586,7 @@ protected void initP2PNetwork() {
15851586
recentChainData,
15861587
throttlingStorageQueryChannel,
15871588
spec,
1588-
new EarliestAvailableBlockSlot(
1589-
throttlingStorageQueryChannel,
1590-
timeProvider,
1591-
beaconConfig.storeConfig().getEarliestAvailableBlockSlotFrequency())));
1589+
earliestAvailableBlockSlot));
15921590
}
15931591

15941592
this.p2pNetwork =

storage/src/main/java/tech/pegasys/teku/storage/client/EarliestAvailableBlockSlot.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@ public class EarliestAvailableBlockSlot {
2828

2929
private final int earliestAvailableBlockSlotFrequency;
3030

31-
private UInt64 queryTime = UInt64.ZERO;
32-
33-
private SafeFuture<Optional<UInt64>> earliestAvailableBlockSlotFuture =
31+
private volatile UInt64 queryTime = UInt64.ZERO;
32+
private volatile SafeFuture<Optional<UInt64>> earliestAvailableBlockSlotFuture =
3433
SafeFuture.completedFuture(Optional.empty());
3534

3635
public EarliestAvailableBlockSlot(
@@ -64,10 +63,7 @@ private synchronized SafeFuture<Optional<UInt64>> actuallyGetEarliestBlockSlot()
6463
} else {
6564
return earliestAvailableBlockSlotFuture;
6665
}
67-
if (!earliestAvailableBlockSlotFuture.isDone()) {
68-
// if the current query is not done, we should just return the same future
69-
return earliestAvailableBlockSlotFuture;
70-
}
66+
7167
LOG.trace("Fetching earliestBlockSlot...");
7268
earliestAvailableBlockSlotFuture = historicalChainData.getEarliestAvailableBlockSlot();
7369
return earliestAvailableBlockSlotFuture;

0 commit comments

Comments
 (0)