Fix incorrect naming and use of Quarantine.peekBlobless (#4826)

The 'peek' name was incorrect as it was actually removing from the
table. It was consequently used incorrectly in block processing: the
blobless block wasn't returned to the table when it should be.
This commit is contained in:
henridf 2023-04-17 18:10:13 +02:00 committed by GitHub
parent 75be7d267d
commit 176c80a3d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -307,7 +307,7 @@ proc addBlobless*(
quarantine.missing.del(signedBlock.root) quarantine.missing.del(signedBlock.root)
true true
func peekBlobless*(quarantine: var Quarantine, root: Eth2Digest): func popBlobless*(quarantine: var Quarantine, root: Eth2Digest):
Option[deneb.SignedBeaconBlock] = Option[deneb.SignedBeaconBlock] =
var blck: deneb.SignedBeaconBlock var blck: deneb.SignedBeaconBlock
if quarantine.blobless.pop(root, blck): if quarantine.blobless.pop(root, blck):

View File

@ -306,7 +306,7 @@ proc processSignedBlobSidecar*(
var skippedBlocks = false var skippedBlocks = false
if (let o = self.quarantine[].peekBlobless( if (let o = self.quarantine[].popBlobless(
signedBlobSidecar.message.block_root); o.isSome): signedBlobSidecar.message.block_root); o.isSome):
let blobless = o.unsafeGet() let blobless = o.unsafeGet()
@ -317,6 +317,9 @@ proc processSignedBlobSidecar*(
self.blobQuarantine[].popBlobs( self.blobQuarantine[].popBlobs(
signedBlobSidecar.message.block_root) signedBlobSidecar.message.block_root)
) )
else:
discard self.quarantine[].addBlobless(self.dag.finalizedHead.slot,
blobless)
blob_sidecars_received.inc() blob_sidecars_received.inc()
blob_sidecar_delay.observe(delay.toFloatSeconds()) blob_sidecar_delay.observe(delay.toFloatSeconds())