You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug, including details regarding any error messages, version, and platform.
The DeltaLengthByteArray encoding cannot handle null values in the go library.
It fails on
a) all nulls in one batch - here it reaches an index out of bounds error when initializing the delta bit packing decoder
b) some nulls in one batch - here it continues to decode the lengths for all rows and interprets actual data for lengths information. Data that later is missing when it wants to decode it.
I have a fix and will update the Issue as soon as the PR is created.
Component(s)
Go
The text was updated successfully, but these errors were encountered:
zeroshade
changed the title
DeltaLengthByteArray encoding breaks with null values in go library
[Go][Parquet] DeltaLengthByteArray encoding breaks with null values in go library
Jun 27, 2023
… not for all nvalues. (#36322)
### Rationale for this change
Fixes issue 36318.
DeltaLengthBinaryArray Encoding fails to handle null values.
### What changes are included in this PR?
Instead of decoding lengths for "all" values (even the undefined ones), we only decode the lengths for the actually set values.
The Go Version of arrow was unable to read parquet files it produced itself if the mentioned encoding was used but the values contain nulls.
### Are these changes tested?
Tests are included.
### Are there any user-facing changes?
No.
**This PR contains a "Critical Fix".**
* Closes: #36318
Authored-by: Justin Heesemann <jheesemann@argo.ai>
Signed-off-by: Matt Topol <zotthewizard@gmail.com>
…alues, not for all nvalues. (apache#36322)
### Rationale for this change
Fixes issue 36318.
DeltaLengthBinaryArray Encoding fails to handle null values.
### What changes are included in this PR?
Instead of decoding lengths for "all" values (even the undefined ones), we only decode the lengths for the actually set values.
The Go Version of arrow was unable to read parquet files it produced itself if the mentioned encoding was used but the values contain nulls.
### Are these changes tested?
Tests are included.
### Are there any user-facing changes?
No.
**This PR contains a "Critical Fix".**
* Closes: apache#36318
Authored-by: Justin Heesemann <jheesemann@argo.ai>
Signed-off-by: Matt Topol <zotthewizard@gmail.com>
…alues, not for all nvalues. (apache#36322)
### Rationale for this change
Fixes issue 36318.
DeltaLengthBinaryArray Encoding fails to handle null values.
### What changes are included in this PR?
Instead of decoding lengths for "all" values (even the undefined ones), we only decode the lengths for the actually set values.
The Go Version of arrow was unable to read parquet files it produced itself if the mentioned encoding was used but the values contain nulls.
### Are these changes tested?
Tests are included.
### Are there any user-facing changes?
No.
**This PR contains a "Critical Fix".**
* Closes: apache#36318
Authored-by: Justin Heesemann <jheesemann@argo.ai>
Signed-off-by: Matt Topol <zotthewizard@gmail.com>
Describe the bug, including details regarding any error messages, version, and platform.
The DeltaLengthByteArray encoding cannot handle null values in the go library.
It fails on
a) all nulls in one batch - here it reaches an index out of bounds error when initializing the delta bit packing decoder
b) some nulls in one batch - here it continues to decode the lengths for all rows and interprets actual data for lengths information. Data that later is missing when it wants to decode it.
I have a fix and will update the Issue as soon as the PR is created.
Component(s)
Go
The text was updated successfully, but these errors were encountered: