-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[ENH] Prefetch block by prefixes #4623
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
[ENH] Prefetch block by prefixes #4623
Conversation
Reviewer ChecklistPlease leverage this checklist to ensure your code review is thorough before approving Testing, Bugs, Errors, Logs, Documentation
System Compatibility
Quality
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Please tag your PR title with one of: [ENH | BUG | DOC | TST | BLD | PERF | TYP | CLN | CHORE]. See https://docs.trychroma.com/contributing#contributing-code-and-ideas |
Implement Blockfile Prefetch by Prefix This PR introduces the ability to prefetch blockfile data based on a list of prefixes, expanding efficient bulk loading strategies for the blockstore. The core addition is a new method on the sparse index ( Key Changes: Affected Areas: This summary was automatically generated by @propel-code-bot |
f3cedac
to
78dbbb3
Compare
dedfbd1
to
3feb7e0
Compare
@@ -362,7 +362,47 @@ impl SparseIndexReader { | |||
result_uuids | |||
} | |||
|
|||
pub(super) fn get_block_ids_range<'prefix, 'referred_data, PrefixRange>( | |||
pub(super) fn get_block_ids_for_prefixes(&self, mut prefixes: Vec<&str>) -> Vec<Uuid> { |
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.
[Documentation]
The new get_block_ids_for_prefixes
function could benefit from some documentation comments explaining its purpose, behavior, and usage - especially since it's a key component of the newly added functionality.
3feb7e0
to
534bff0
Compare
78dbbb3
to
d4d29e1
Compare
d4d29e1
to
a924a12
Compare
982a8a5
to
88133e0
Compare
a924a12
to
2f5ee22
Compare
88133e0
to
8ce40bd
Compare
2f5ee22
to
66fba61
Compare
Merge activity
|
66fba61
to
9c46a5b
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
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs section?