-
Notifications
You must be signed in to change notification settings - Fork 763
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: make block meta easier to be cloned #8548
refactor: make block meta easier to be cloned #8548
Conversation
so that block meta could be cloned in a lighter manner
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
|
according to @sundy-li 's performance profiling, cloning of
sounds reasonable to me. let's do the refactor if performance profiling identifies them to be bottlenecks. |
It works |
Because we clone BlockMeta so the hashmap is cloned, and with this PR it will avoid. |
I hereby agree to the terms of the CLA available at: https://databend.rs/dev/policies/cla/
Summary
After reading
SegmentInfo
from storage, block meta is owned by anArc<SegmentInfo>
(which may be cached).For situations that need block metas only, like pruning, we have no choice but to clone the block meta, which hurts the performance.
In this PR, changes SegmentInfo from
to
and refactor related components accordingly.
Fixes #issue