-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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 bug while merging RecordBatch
, add SortPreservingMerge
fuzz tester
#1678
Conversation
Marking as a draft as I still plan to add a few more cases to this tester (as I work on #1676 ) |
fe36f5d
to
fbdf721
Compare
645e0c8
to
f4cb449
Compare
SortPreservingMerge
fuzz testerRecordBatch
, Add SortPreservingMerge
fuzz tester
@@ -410,40 +410,53 @@ impl SortPreservingMergeStream { | |||
// Cursor is not finished - don't need a new RecordBatch yet | |||
return Poll::Ready(Ok(())); | |||
} | |||
let mut streams = self.streams.streams.lock().unwrap(); | |||
let mut empty_batch = false; |
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.
The changes to this file are easier to see if you use a whitespace blind diff:
https://github.com/apache/arrow-datafusion/pull/1678/files?w=1
} | ||
|
||
#[tokio::test] | ||
async fn test_merge_2_no_overlap() { |
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.
this test fails without the changes to datafusion/src/physical_plan/sorts/sort_preserving_merge.rs
RecordBatch
, Add SortPreservingMerge
fuzz testerRecordBatch
, add SortPreservingMerge
fuzz tester
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.
LGTM
Which issue does this PR close?
Fixes #1676
Includes the code from @yjshen alamb#4 in a separate commit ❤️
Rationale for this change
Despite pretty good testing in
SortPreservingMerge
there was at least one case that is not yet covered. This PR addsWhat changes are included in this PR?
'assertion failed: i < self.len()'
in array_primitive.rs while merging non overlapping streams #1676Are there any user-facing changes?
Bug is fixed