diff --git a/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/util/BlockBlobSidecarsTrackersPoolImpl.java b/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/util/BlockBlobSidecarsTrackersPoolImpl.java index 7d2bcb28d45..e4b09d381e0 100644 --- a/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/util/BlockBlobSidecarsTrackersPoolImpl.java +++ b/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/util/BlockBlobSidecarsTrackersPoolImpl.java @@ -586,7 +586,6 @@ private void makeRoomForNewTracker() { } } - @SuppressWarnings("FutureReturnValueIgnored") private void onFirstSeen( final SlotAndBlockRoot slotAndBlockRoot, final Optional remoteOrigin) { final boolean isLocalBlockProduction = @@ -598,14 +597,16 @@ private void onFirstSeen( final SafeFuture rpcFetchDelay = asyncRunner.getDelayedFuture(calculateRpcFetchDelay(slotAndBlockRoot)); - asyncRunner.runAsync( - () -> - // fetch blobs from EL with no delay - fetchMissingBlobsFromLocalEL(slotAndBlockRoot) - .handleException(this::logLocalElBlobsLookupFailure) - .thenCompose(__ -> rpcFetchDelay) - .thenRun(() -> fetchMissingBlockOrBlobsFromRPC(slotAndBlockRoot)) - .finish(this::logBlockOrBlobsRPCFailure)); + asyncRunner + .runAsync( + () -> + // fetch blobs from EL with no delay + fetchMissingBlobsFromLocalEL(slotAndBlockRoot) + .handleException(this::logLocalElBlobsLookupFailure) + .thenCompose(__ -> rpcFetchDelay) + .thenRun(() -> fetchMissingBlockOrBlobsFromRPC(slotAndBlockRoot)) + .handleException(this::logBlockOrBlobsRPCFailure)) + .ifExceptionGetsHereRaiseABug(); } @VisibleForTesting