Skip to content

ChunkStore: fix row-id computation when removing dangling static chunks#8020

Merged
teh-cmc merged 2 commits intomainfrom
cmc/debug_assert_failing
Nov 7, 2024
Merged

ChunkStore: fix row-id computation when removing dangling static chunks#8020
teh-cmc merged 2 commits intomainfrom
cmc/debug_assert_failing

Conversation

@teh-cmc
Copy link
Member

@teh-cmc teh-cmc commented Nov 6, 2024

The assertion was correct 🥳🎈.

There was a real memleak in there when dealing with partially dangling static chunks (simplifying a bit: those are static chunks being overwritten for some components but not all, which is a very niche use case, thus why we've never hit it until now).

cc @grtlr

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!
  • If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

To run all checks from main, comment on the PR with @rerun-bot full-check.

@teh-cmc teh-cmc added 🪳 bug Something isn't working ⛃ re_datastore affects the datastore itself 📉 performance Optimization, memory use, etc include in changelog labels Nov 6, 2024
Copy link
Member

@abey79 abey79 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks legit to my uneducated eyes. Did you have a (simple) repro that could be turned into a test? (If not I guess the debug_assert will do).

@teh-cmc
Copy link
Member Author

teh-cmc commented Nov 7, 2024

Did you have a (simple) repro that could be turned into a test? (If not I guess the debug_assert will do).

I do have a simple repro (see original issue), but the bug itself felt too niche and too localized to meet my standards for "worth the maintenance cost of one more test". I'll try and implement and see how bad it is though, just in case.

@teh-cmc
Copy link
Member Author

teh-cmc commented Nov 7, 2024

Ok no it definitely gets over the threshold 😬

@teh-cmc teh-cmc merged commit acc81b6 into main Nov 7, 2024
@teh-cmc teh-cmc deleted the cmc/debug_assert_failing branch November 7, 2024 10:35
@grtlr
Copy link
Member

grtlr commented Nov 8, 2024

@teh-cmc Thank you for the quick fix! The problems seem to be solved by this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🪳 bug Something isn't working include in changelog 📉 performance Optimization, memory use, etc ⛃ re_datastore affects the datastore itself

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Panic due to assertion chunk_id_removed.is_some()

3 participants