-
Notifications
You must be signed in to change notification settings - Fork 853
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
Add CI check for full validation mode #1546
Conversation
|
||
// Provide a force_validate mode | ||
#[cfg(feature = "force_validate")] | ||
new_self.validate_full().unwrap(); |
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.
Here is the validation call
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.
❤️
Codecov Report
@@ Coverage Diff @@
## master #1546 +/- ##
==========================================
- Coverage 82.82% 82.82% -0.01%
==========================================
Files 190 190
Lines 54941 54943 +2
==========================================
- Hits 45507 45506 -1
- Misses 9434 9437 +3
Continue to review full report at Codecov.
|
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.
I believe this also closes #1239
Edit: Once we bash out the failing tests, we could look to enable this in the DataFusion CI as well for even more coverage 😄
|
||
// Provide a force_validate mode | ||
#[cfg(feature = "force_validate")] | ||
new_self.validate_full().unwrap(); |
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.
❤️
@@ -1692,6 +1692,9 @@ mod tests { | |||
} | |||
|
|||
#[test] | |||
// Fails when validation enabled |
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.
😢
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.
at least we know there is a problem. So it is progress 🤷 we'll get it fixed
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.
going to fix it at #1567
I will try and polish this up shortly |
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.
Even better now 😄
Which issue does this PR close?
Closes #1544
Closes #1239
Rationale for this change
We have a full validation mode that validates the full contents of creating Arrays but it is (on purpose) not called in many places in arrow for performance reasons: https://docs.rs/arrow/11.1.0/arrow/array/struct.ArrayData.html#method.validate_full
This leads to two possible issues:
What changes are included in this PR?
force_validate
feature flag that forced the validation check for all array creations (defaults to off)Found / filed new tickets or existing tickets:
filter
produces invalid sparseUnionArray
s #1547ipc::reader::tests::projection_should_work
fails validation #1548substring
kernel #1531Are there any user-facing changes?
New optional feature
force_validate