Skip to content

Commit 83730a8

Browse files
committed
rolling back to previous version plus slot and block root change
Signed-off-by: Gabriel Fukushima <[email protected]>
1 parent a2e57de commit 83730a8

File tree

1 file changed

+9
-8
lines changed
  • ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/datacolumns

1 file changed

+9
-8
lines changed

ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/datacolumns/DasSamplerBasic.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import tech.pegasys.teku.spec.datastructures.blobs.DataColumnSidecar;
3737
import tech.pegasys.teku.spec.datastructures.blocks.BeaconBlock;
3838
import tech.pegasys.teku.spec.datastructures.blocks.SignedBeaconBlock;
39+
import tech.pegasys.teku.spec.datastructures.blocks.SlotAndBlockRoot;
3940
import tech.pegasys.teku.spec.datastructures.util.DataColumnSlotAndIdentifier;
4041
import tech.pegasys.teku.spec.logic.versions.fulu.helpers.MiscHelpersFulu;
4142
import tech.pegasys.teku.statetransition.blobs.RemoteOrigin;
@@ -56,7 +57,7 @@ public class DasSamplerBasic implements DataAvailabilitySampler, SlotEventsChann
5657
private final CustodyGroupCountManager custodyGroupCountManager;
5758
private final Map<Bytes32, DataColumnSamplingTracker> recentlySampledColumnsByRoot =
5859
new ConcurrentHashMap<>(MAX_RECENTLY_SAMPLED_BLOCKS);
59-
private final NavigableSet<Bytes32> orderedSidecarsTrackers = new TreeSet<>();
60+
private final NavigableSet<SlotAndBlockRoot> orderedSidecarsTrackers = new TreeSet<>();
6061

6162
private final AsyncRunner asyncRunner;
6263
private final RecentChainData recentChainData;
@@ -182,7 +183,7 @@ private DataColumnSamplingTracker getOrCreateTracker(final UInt64 slot, final By
182183
k -> {
183184
final DataColumnSamplingTracker newTracker =
184185
DataColumnSamplingTracker.create(slot, blockRoot, custodyGroupCountManager);
185-
orderedSidecarsTrackers.add(blockRoot);
186+
orderedSidecarsTrackers.add(new SlotAndBlockRoot(slot, blockRoot));
186187
onFirstSeen(slot, blockRoot, newTracker);
187188
return newTracker;
188189
});
@@ -192,19 +193,19 @@ private DataColumnSamplingTracker getOrCreateTracker(final UInt64 slot, final By
192193

193194
private void makeRoomForNewTracker() {
194195
while (recentlySampledColumnsByRoot.size() > MAX_RECENTLY_SAMPLED_BLOCKS - 1) {
195-
final Bytes32 toRemove = orderedSidecarsTrackers.pollFirst();
196+
final SlotAndBlockRoot toRemove = orderedSidecarsTrackers.pollFirst();
196197
if (toRemove == null) {
197198
break;
198199
}
199200
removeAllForBlock(toRemove);
200201
}
201202
}
202203

203-
private synchronized void removeAllForBlock(final Bytes32 blockRoot) {
204-
final DataColumnSamplingTracker tracker = recentlySampledColumnsByRoot.remove(blockRoot);
204+
private synchronized void removeAllForBlock(final SlotAndBlockRoot slotAndBlockRoot) {
205+
final DataColumnSamplingTracker tracker = recentlySampledColumnsByRoot.remove(slotAndBlockRoot.getBlockRoot());
205206

206207
if (tracker != null) {
207-
orderedSidecarsTrackers.remove(blockRoot);
208+
orderedSidecarsTrackers.remove(slotAndBlockRoot);
208209
// TODO maybe we need something like
209210
// tech.pegasys.teku.statetransition.util.BlockBlobSidecarsTrackersPoolImpl.dropMissingContent
210211
}
@@ -280,7 +281,7 @@ public void onSlot(final UInt64 slot) {
280281
}
281282

282283
public Optional<SignedBeaconBlock> getBlock(final Bytes32 blockRoot) {
283-
LOG.debug("Obtaining block for root {} from DasSamplerBasic", blockRoot);
284-
return recentlySampledColumnsByRoot.get(blockRoot).getBlock();
284+
return Optional.ofNullable(recentlySampledColumnsByRoot.get(blockRoot))
285+
.flatMap(DataColumnSamplingTracker::getBlock);
285286
}
286287
}

0 commit comments

Comments
 (0)