Skip to content
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

fix: v2 deadlock when there are multiple data files #2923

Merged

Conversation

westonpace
Copy link
Contributor

We read batches from data files in a round-robin fashion. With the old priority mechanism all data in file 1 would be scheduled before file 2. This means we'd deadlock if file 1 was bigger than the I/O buffer size.

Now, each fragment has a unique priority, but the priority within the fragment is the same for all data files.

This should avoid deadlock as long as the I/O buffer size is larger than any given batch (may want to issue warning or fail if we can detect when the batch size is too large).

@github-actions github-actions bot added bug Something isn't working python labels Sep 23, 2024
@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 70.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 77.80%. Comparing base (5606b17) to head (e1bc463).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
rust/lance-io/src/scheduler.rs 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2923      +/-   ##
==========================================
+ Coverage   77.78%   77.80%   +0.01%     
==========================================
  Files         231      231              
  Lines       70199    70188      -11     
  Branches    70199    70188      -11     
==========================================
+ Hits        54607    54609       +2     
- Misses      12688    12694       +6     
+ Partials     2904     2885      -19     
Flag Coverage Δ
unittests 77.80% <70.00%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@westonpace westonpace merged commit f763d42 into lancedb:main Sep 24, 2024
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants