make sure quarantine persistent across all threads

This commit is contained in:
Agnish Ghosh 2024-10-13 17:11:37 +05:30
parent 1f3e2a94db
commit 1cf1a62367
No known key found for this signature in database
GPG Key ID: 7BDDA05D1B25E9F8
1 changed files with 9 additions and 4 deletions

View File

@ -401,10 +401,15 @@ proc processDataColumnSidecar*(
if self.dataColumnQuarantine[].gatherDataColumns(forkyBlck).len ==
max(SAMPLES_PER_SLOT, CUSTODY_REQUIREMENT) and
self.dataColumnQuarantine[].hasMissingDataColumns(forkyBlck):
self.blockProcessor[].enqueueBlock(
MsgSource.gossip, columnless,
Opt.none(BlobSidecars),
Opt.some(self.dataColumnQuarantine[].gatherDataColumns(forkyBlck)))
if self.dataColumnQuarantine[].supernode == false:
let columns =
self.dataColumnQuarantine[].gatherDataColumns(forkyBlck).mapIt(it[])
for gdc in columns:
self.dataColumnQuarantine[].put(newClone(gdc))
self.blockProcessor[].enqueueBlock(
MsgSource.gossip, columnless,
Opt.none(BlobSidecars),
Opt.some(self.dataColumnQuarantine[].popDataColumns(block_root, forkyBlck)))
elif self.dataColumnQuarantine[].hasEnoughDataColumns(forkyBlck):
let
columns = self.dataColumnQuarantine[].gatherDataColumns(forkyBlck)