Skip to content

SDSTOR-20656: clear wbc chunk selector - #179

Open
nnastonen wants to merge 1 commit into
eBay:dev/v6.xfrom
nnastonen:SDSTOR-20656_clear_wbc_chunk_selector
Open

nnastonen wants to merge 1 commit into
eBay:dev/v6.xfrom
nnastonen:SDSTOR-20656_clear_wbc_chunk_selector

Conversation

@nnastonen

@nnastonen nnastonen commented Sep 10, 2026 •

Copy link
Copy Markdown
  1. Create homestore with chunk selector
  2. Create btree1 and populate it
  3. Nodes get into wbc cache
  4. Destroy btree1 (wbc purge is not done, also volume's chunk bitmap is not cleared)
  5. Create btree2 and populate it
  6. Nodes get into wbc cache and we get cache corruption, duplicate inserts

This change makes chunk release asynchronous and defers returning the chunk to the free pool until cleanup is complete.

New flow:

  • detach the volume's chunk list from m_volume_chunks
  • run asynchronous cleanup for all the chunks
  • in cleanup, evict all allocated blkids for the chunks from WBC
  • [reset the chunks' block allocator state (bitmap)]
  • reinsert the chunks into m_per_dev_chunks

This PR also addresses this ticket SDSTOR-20651

@nnastonen
nnastonen force-pushed the SDSTOR-20656_clear_wbc_chunk_selector branch from 9acfaee to ba8fe6d Compare September 11, 2026 17:23
@nnastonen
nnastonen force-pushed the SDSTOR-20656_clear_wbc_chunk_selector branch 4 times, most recently from 19e725e to 319632c Compare September 16, 2026 11:45
@nnastonen
nnastonen force-pushed the SDSTOR-20656_clear_wbc_chunk_selector branch from 319632c to 30d232f Compare September 24, 2026 08:40
@codecov-commenter

codecov-commenter commented Sep 24, 2026 •

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 41.35338% with 78 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (dev/v6.x@d2e0087). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/lib/volume/volume_chunk_selector.cpp 40.00% 27 Missing and 51 partials ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             dev/v6.x     #179   +/-   ##
===========================================
  Coverage            ?   47.57%           
===========================================
  Files               ?       19           
  Lines               ?     1299           
  Branches            ?      573           
===========================================
  Hits                ?      618           
  Misses              ?      295           
  Partials            ?      386           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nnastonen
nnastonen force-pushed the SDSTOR-20656_clear_wbc_chunk_selector branch 2 times, most recently from b2bac0d to 7ac8639 Compare September 25, 2026 11:32
@nnastonen
nnastonen force-pushed the SDSTOR-20656_clear_wbc_chunk_selector branch from 7ac8639 to 0be2076 Compare September 25, 2026 12:57
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