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 == if self.dataColumnQuarantine[].gatherDataColumns(forkyBlck).len ==
max(SAMPLES_PER_SLOT, CUSTODY_REQUIREMENT) and max(SAMPLES_PER_SLOT, CUSTODY_REQUIREMENT) and
self.dataColumnQuarantine[].hasMissingDataColumns(forkyBlck): self.dataColumnQuarantine[].hasMissingDataColumns(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( self.blockProcessor[].enqueueBlock(
MsgSource.gossip, columnless, MsgSource.gossip, columnless,
Opt.none(BlobSidecars), Opt.none(BlobSidecars),
Opt.some(self.dataColumnQuarantine[].gatherDataColumns(forkyBlck))) Opt.some(self.dataColumnQuarantine[].popDataColumns(block_root, forkyBlck)))
elif self.dataColumnQuarantine[].hasEnoughDataColumns(forkyBlck): elif self.dataColumnQuarantine[].hasEnoughDataColumns(forkyBlck):
let let
columns = self.dataColumnQuarantine[].gatherDataColumns(forkyBlck) columns = self.dataColumnQuarantine[].gatherDataColumns(forkyBlck)