Skip to content

Refactored version of BlobSidecar/DataColumnSidecar quarantine.#7100

Merged
tersec merged 17 commits intounstablefrom
blob-quarantine2
May 13, 2025
Merged

Refactored version of BlobSidecar/DataColumnSidecar quarantine.#7100
tersec merged 17 commits intounstablefrom
blob-quarantine2

Conversation

@cheatfate
Copy link
Copy Markdown
Contributor

With this new version of BlobQuarantine/DataColumnQuarantine number of issues being solved.

  1. Number of API get converted from O(n) difficulty to O(1).
  2. Ability to get access to blobs by slot or by root only.
  3. Elimination of hasBlobs/popBlobs (double hash table access) pattern via using popBlobs: Opt[T].
  4. Test suite added.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2025

Unit Test Results

       15 files  ±  0    2 630 suites  +10   1h 19m 22s ⏱️ + 1m 28s
  6 375 tests +13    5 873 ✔️ +13  502 💤 ±0  0 ±0 
44 316 runs  +85  43 638 ✔️ +85  678 💤 ±0  0 ±0 

Results for commit d7d6b53. ± Comparison against base commit 0769fc7.

♻️ This comment has been updated with latest results.

Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
@cheatfate cheatfate force-pushed the blob-quarantine2 branch from 55cdd77 to 20f7c09 Compare May 5, 2025 17:26
@cheatfate cheatfate marked this pull request as ready for review May 6, 2025 07:10
Comment thread beacon_chain/sync/request_manager.nim Outdated
Comment thread beacon_chain/gossip_processing/gossip_validation.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim
@cheatfate cheatfate force-pushed the blob-quarantine2 branch from 20f7c09 to 9f66085 Compare May 9, 2025 15:20
@tersec
Copy link
Copy Markdown
Contributor

tersec commented May 12, 2025

looks like maybe make test wasn't rerun:

[2025-05-12T17:51:56.808Z] + git diff --exit-code --ignore-submodules=all
[2025-05-12T17:51:56.808Z] diff --git a/AllTests-mainnet.md b/AllTests-mainnet.md
[2025-05-12T17:51:56.808Z] index 1805a5a5..9960f7b2 100644
[2025-05-12T17:51:56.808Z] --- a/AllTests-mainnet.md
[2025-05-12T17:51:56.808Z] +++ b/AllTests-mainnet.md
[2025-05-12T17:51:56.808Z] @@ -111,6 +111,7 @@ AllTests-mainnet
[2025-05-12T17:51:56.808Z]  ```diff
[2025-05-12T17:51:56.808Z]  + overfill protection test                                                                   OK
[2025-05-12T17:51:56.808Z]  + popSidecars()/hasSidecars() return []/true on block without blobs                          OK
[2025-05-12T17:51:56.808Z] ++ pruneAfterFinalization() test                                                              OK
[2025-05-12T17:51:56.808Z]  + put()/fetchMissingSidecars/remove test                                                     OK
[2025-05-12T17:51:56.808Z]  + put()/hasSidecar(index, slot, proposer_index)/remove() test                                OK
[2025-05-12T17:51:56.808Z]  + put(sidecar)/put([sidecars])/hasSidecars/popSidecars/remove() test                         OK
[2025-05-12T17:51:56.808Z] @@ -159,6 +160,7 @@ AllTests-mainnet
[2025-05-12T17:51:56.808Z]  + ColumnMap test                                                                             OK
[2025-05-12T17:51:56.808Z]  + overfill protection test                                                                   OK
[2025-05-12T17:51:56.808Z]  + popSidecars()/hasSidecars() return []/true on block without columns                        OK
[2025-05-12T17:51:56.808Z] ++ pruneAfterFinalization() test                                                              OK
[2025-05-12T17:51:56.808Z]  + put()/fetchMissingSidecars/remove test [node]                                              OK
[2025-05-12T17:51:56.808Z]  + put()/fetchMissingSidecars/remove test [supernode]                                         OK
[2025-05-12T17:51:56.808Z]  + put()/hasSidecar(index, slot, proposer_index)/remove() test                                OK
script returned exit code 1

Comment thread beacon_chain/sync/request_manager.nim
Comment thread beacon_chain/sync/request_manager.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
Comment thread beacon_chain/consensus_object_pools/blob_quarantine.nim Outdated
@tersec
Copy link
Copy Markdown
Contributor

tersec commented May 13, 2025

982e62a adds tests but doesn't update the test summaries.

https://ci.status.im/blue/organizations/jenkins/nimbus-eth2%2Fplatforms%2Flinux%2Fx86_64%2Fmain/detail/PR-7100/14/pipeline

[2025-05-13T11:54:52.523Z] + git diff --exit-code --ignore-submodules=all
[2025-05-13T11:54:52.523Z] diff --git a/AllTests-mainnet.md b/AllTests-mainnet.md
[2025-05-13T11:54:52.523Z] index 1805a5a5..dd1b338d 100644
[2025-05-13T11:54:52.523Z] --- a/AllTests-mainnet.md
[2025-05-13T11:54:52.523Z] +++ b/AllTests-mainnet.md
[2025-05-13T11:54:52.523Z] @@ -111,6 +111,8 @@ AllTests-mainnet
[2025-05-13T11:54:52.523Z]  ```diff
[2025-05-13T11:54:52.523Z]  + overfill protection test                                                                   OK
[2025-05-13T11:54:52.523Z]  + popSidecars()/hasSidecars() return []/true on block without blobs                          OK
[2025-05-13T11:54:52.523Z] ++ pruneAfterFinalization() test                                                              OK
[2025-05-13T11:54:52.523Z] ++ put() duplicate items should not affect counters                                           OK
[2025-05-13T11:54:52.523Z]  + put()/fetchMissingSidecars/remove test                                                     OK
[2025-05-13T11:54:52.523Z]  + put()/hasSidecar(index, slot, proposer_index)/remove() test                                OK
[2025-05-13T11:54:52.523Z]  + put(sidecar)/put([sidecars])/hasSidecars/popSidecars/remove() test                         OK
[2025-05-13T11:54:52.523Z] @@ -159,6 +161,8 @@ AllTests-mainnet
[2025-05-13T11:54:52.523Z]  + ColumnMap test                                                                             OK
[2025-05-13T11:54:52.523Z]  + overfill protection test                                                                   OK
[2025-05-13T11:54:52.523Z]  + popSidecars()/hasSidecars() return []/true on block without columns                        OK
[2025-05-13T11:54:52.523Z] ++ pruneAfterFinalization() test                                                              OK
[2025-05-13T11:54:52.523Z] ++ put() duplicate items should not affect counters                                           OK
[2025-05-13T11:54:52.523Z]  + put()/fetchMissingSidecars/remove test [node]                                              OK
[2025-05-13T11:54:52.523Z]  + put()/fetchMissingSidecars/remove test [supernode]                                         OK
[2025-05-13T11:54:52.523Z]  + put()/hasSidecar(index, slot, proposer_index)/remove() test                                OK
script returned exit code 1

@tersec tersec merged commit 7965d40 into unstable May 13, 2025
12 checks passed
@tersec tersec deleted the blob-quarantine2 branch May 13, 2025 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants