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):
self.blockProcessor[].enqueueBlock( if self.dataColumnQuarantine[].supernode == false:
MsgSource.gossip, columnless, let columns =
Opt.none(BlobSidecars), self.dataColumnQuarantine[].gatherDataColumns(forkyBlck).mapIt(it[])
Opt.some(self.dataColumnQuarantine[].gatherDataColumns(forkyBlck))) 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): elif self.dataColumnQuarantine[].hasEnoughDataColumns(forkyBlck):
let let
columns = self.dataColumnQuarantine[].gatherDataColumns(forkyBlck) columns = self.dataColumnQuarantine[].gatherDataColumns(forkyBlck)