Skip to content

Commit 6919d35

Browse files
committed
make column syncer configurable as well
1 parent 97fab10 commit 6919d35

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

beacon_chain/nimbus_beacon_node.nim

+1-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ proc initFullNode(
556556
{ColumnSyncerFlag.Greedy}
557557

558558
columnManager = newColumnManager[Peer, PeerId](
559-
node.network.peerPool, supernode, custody_columns_set,
559+
node.network.peerPool, dag.cfg, supernode, custody_columns_set,
560560
custody_columns_list, dag.cfg.FULU_FORK_EPOCH,
561561
dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS,
562562
ColumnSyncerDirection.Forward, getLocalHeadSlot,

beacon_chain/sync/column_syncer.nim

+16-7
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ type
5353

5454
ColumnManager*[A, B] = ref object
5555
pool: PeerPool[A, B]
56+
cfg*: RuntimeConfig
5657
amIsupernode*: bool
5758
custody_columns_set*: HashSet[ColumnIndex]
5859
custody_columns_list*: List[ColumnIndex, NUMBER_OF_COLUMNS]
@@ -131,6 +132,7 @@ proc initColumnSyncerAssist[A, B](man: ColumnManager[A, B]) =
131132

132133
proc newColumnManager*[A, B](
133134
pool: PeerPool[A, B],
135+
cfg: RuntimeConfig,
134136
amIsupernode: bool,
135137
custody_columns_set: HashSet[ColumnIndex],
136138
custody_columns_list: List[ColumnIndex, NUMBER_OF_COLUMNS],
@@ -159,6 +161,7 @@ proc newColumnManager*[A, B](
159161

160162
var res = ColumnManager[A, B](
161163
pool: pool,
164+
cfg: cfg,
162165
amIsupernode: amIsupernode,
163166
custody_columns_set: custody_columns_set,
164167
custody_columns_list: custody_columns_list,
@@ -226,9 +229,11 @@ proc checkDataColumns(data_columns: seq[DataColumnSidecars]):
226229
proc intersectionColumns[A, B](
227230
man: ColumnManager[A, B],
228231
peer: A): List[ColumnIndex, NUMBER_OF_COLUMNS] =
232+
let remoteNodeId =
233+
fetchNodeIdFromPeerId(peer)
229234
intersection(man.custody_columns_set,
230-
resolve_column_sets_from_custody_groups(max(SAMPLES_PER_SLOT.uint64,
231-
peer.lookupCgcFromPeer())))
235+
resolve_columns_from_custody_groups(remoteNodeId, max(SAMPLES_PER_SLOT.uint64,
236+
peer.lookupCgcFromPeer()).toHashSet()))
232237

233238
proc refreshColumnScoring[A, B](
234239
man: ColumnManager[A, B]) =
@@ -579,9 +584,12 @@ proc columnSyncStrategyImpartial[A, B](
579584
reason = error
580585
return
581586

582-
let serveable_columns =
583-
resolve_column_list_from_custody_groups(max(SAMPLES_PER_SLOT.uint64,
584-
peer.lookupCgcFromPeer()))
587+
let
588+
remoteNodeId =
589+
fetchNodeIdFromPeerId(peer)
590+
serveable_columns =
591+
man.cfg.resolve_columns_from_custody_groups(remoteNodeId, max(SAMPLES_PER_SLOT.uint64,
592+
peer.lookupCgcFromPeer()))
585593
let columnData =
586594
if shouldGetDataColumns:
587595
let columns =
@@ -818,8 +826,9 @@ proc columnSyncWorkerGreedy[A, B](
818826
peer = await man.pool.acquire()
819827
if intersection(
820828
man.custody_columns_set,
821-
resolve_column_sets_from_custody_groups(max(SAMPLES_PER_SLOT.uint64,
822-
peer.lookupCgcFromPeer()))):
829+
resolve_columns_from_custody_groups(fetchNodeIdFromPeerId(peer),
830+
max(SAMPLES_PER_SLOT.uint64,
831+
peer.lookupCgcFromPeer()).toHashSet())):
823832
usefulPeers.add(peer)
824833
else:
825834
uselessPeers.add(peer)

0 commit comments

Comments
 (0)