-
-
Notifications
You must be signed in to change notification settings - Fork 154
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
v3.7.1 corrupt input when reading decimal fields #53
Comments
I'm seeing the similar issue for integers also. Thank you for stalling my decent into madness trying to debug my serialization layer. Reverted to 3.7.0 and everything works. |
In my code sample above, CompressionMethod.Snappy causes Decimal data types to fail to read when there are more than 4096 items in the Parquet file. If I change compression method to either Gzip or None then rowGroupReader.ReadColumn(dataField) doesn't throw. This suggests that the bug is in the new version of IronSnappy. |
Parquet.net 3.7.1 |
the problem is not on Reading but on Writing. :) and the problem have been solved. but no new version released. |
@skyyearxp you are a star |
releasing fix in 3.7.2 |
Version: Parquet.Net v3.7.1
Runtime Version: .Net Core 3.1
OS: Windows
Expected behavior
ParquetRowGroupReader.ReadColumn(DataField field) should not throw an exception when reading a decimal field.
Actual behavior
System.IO.IOException: 'corrupt input' is thrown when there are more than 4096 items in the row group. This doesn't occur in v3.7.0.
The code snippet below writes a Parquet file to a MemoryStream then reads it back. In TestClass I have tested setting Value's data type to bool, double, int, long, DateTimeOffset and string classes, they can all be read without errors. Only decimal data type causes ParquetRowGroupReader.ReadColumn(...) to throw when there are more than 4096 items in a row group.
Steps to reproduce the behavior
Code snippet reproducing the behavior
The text was updated successfully, but these errors were encountered: