-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[ENH]: Add ability to set different block sizes for different blockfiles #4948
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
base: main
Are you sure you want to change the base?
[ENH]: Add ability to set different block sizes for different blockfiles #4948
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Reviewer ChecklistPlease leverage this checklist to ensure your code review is thorough before approving Testing, Bugs, Errors, Logs, Documentation
System Compatibility
Quality
|
Add Per-Blockfile Block Size Setting with Versioning and Backward Compatibility This PR introduces the ability to specify and persist different block sizes for distinct blockfiles in the Arrow blockstore. It updates the Arrow metadata schema to persist the max_block_size_bytes per-blockfile, adds a new V1.2 blockfile version for backward compatibility, and sets Spann posting list block size to 5MiB. The necessary migration logic is added to upgrade older blockfiles, and the blockfile provider APIs, writer options, and internal handling are updated to support and test this functionality. Additional temporary debug logs regarding IO task limits and scheduling are also present. Key Changes: Affected Areas: This summary was automatically generated by @propel-code-bot |
@@ -39,6 +39,8 @@ use crate::{ | |||
|
|||
use super::utils::{rng_query, KMeansAlgorithmInput, KMeansError, RngQueryError}; | |||
|
|||
const PL_BLOCK_SIZE: usize = 5 * 1024 * 1024; // 5 MiB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should add a justification for why this
f99a00a
to
ab8839e
Compare
56c1e29
to
3c09498
Compare
} | ||
Ok(()) | ||
} | ||
|
||
async fn migrate_v1_to_v1_1( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should update this method name
c13149b
to
561c851
Compare
3c09498
to
adfa3f8
Compare
561c851
to
9f05434
Compare
adfa3f8
to
27cdd92
Compare
9f05434
to
28e3c9e
Compare
27cdd92
to
1b00d59
Compare
28e3c9e
to
05d4906
Compare
1b00d59
to
0b3c66e
Compare
c3b23af
to
f9ead28
Compare
f9ead28
to
2293092
Compare
Description of changes
Summarize the changes made by this PR.
Test plan
How are these changes tested?
pytest
for python,yarn test
for js,cargo test
for rustDocumentation Changes
None