aloneguid / parquet-dotnet

Fully managed Apache Parquet implementation
https://aloneguid.github.io/parquet-dotnet/
MIT License
637 stars 153 forks source link

[BUG]: nironcompress fallback #574

Open tuseau opened 3 days ago

tuseau commented 3 days ago

Library Version

5.0.2

OS

Windows 10

OS Architecture

64 bit

How to reproduce?

I have a .NET Standard 2.0 C# project which write and reads parquet files to/from Azure Data Lake. When calling the ParquetRowGroupWriter.WriteColumnAsync method or the ParquetRowGroupReader.ReadColumnAsync method, it throws an error - but only when debugging in visual studio with "CLR Exceptions" switched on in Exception Settings. This is the error:

System.DllNotFoundException HResult=0x80131524 Message=Unable to load DLL 'nironcompress': The specified module could not be found. (Exception from HRESULT: 0x8007007E) Source=IronCompress StackTrace: at IronCompress.Native.iron_ping() at IronCompress.Iron.get_IsNativeLibraryAvailable()

I should point out that this error is not thrown at runtime when compiled and does not prevent the application from working.

Failing test

No response

aloneguid commented 3 days ago

Thanks its definitely a bug. Parquet should fall back to managed compression if native is not available, but doesn't for some reason. What is the runtime consuming .net standard library?

tuseau commented 3 days ago

In this case, .net 4.7.2