Issue description
In 5.x, ParquetSerializerOptions.CompressionLevel defaulted to CompressionLevel.Optimal. In 6.0, compression moved to ParquetOptions (ParquetOptions.CompressionLevel) and the default became CompressionLevel.SmallestSize.
The 6.0 release notes mention that CompressionMethod/CompressionLevel moved to ParquetOptions, but not that the default value changed. So code that sets CompressionMethod = Gzip (and RowGroupSize) without setting CompressionLevel silently switches from balanced to max-effort gzip on upgrade.
Measured impact (serialize ~24.7M rows, gzip, RowGroupSize 25000, same machine):
- SmallestSize (6.x default): ~7m07s, 678 MB
- Optimal (explicit): ~2m23s, 711 MB
~3× slower writes for ~5% smaller files.
Workaround is to set CompressionLevel = Optimal explicitly.
Suggestion: document the default change in the 6.0 breaking-changes notes, or restore Optimal as the gzip default.
Issue description
In 5.x, ParquetSerializerOptions.CompressionLevel defaulted to CompressionLevel.Optimal. In 6.0, compression moved to ParquetOptions (ParquetOptions.CompressionLevel) and the default became CompressionLevel.SmallestSize.
The 6.0 release notes mention that CompressionMethod/CompressionLevel moved to ParquetOptions, but not that the default value changed. So code that sets CompressionMethod = Gzip (and RowGroupSize) without setting CompressionLevel silently switches from balanced to max-effort gzip on upgrade.
Measured impact (serialize ~24.7M rows, gzip, RowGroupSize 25000, same machine):
~3× slower writes for ~5% smaller files.
Workaround is to set CompressionLevel = Optimal explicitly.
Suggestion: document the default change in the 6.0 breaking-changes notes, or restore Optimal as the gzip default.