Skip to content

Incompatibility Issue Between EasyCompressor Versions 1.4.0 and 2.0.2 Resulting in Corrupted Pickle (LZ4) #200

@nathan5580

Description

@nathan5580

Description:
After updating the EasyCompressor library from version 1.4.0 to 2.0.2 in our project, we encountered an issue related to LZ4 compression where the compressed data appears to be corrupted, yielding the error: "Pickle is corrupted: Version 7 is not recognized". This issue has disrupted the functionality related to file data retrieval in our application, specifically when attempting to decompress data that was compressed with the previous version of EasyCompressor.

Error Message:

Pickle is corrupted: Version 7 is not recognized
stacktrace:
   at K4os.Compression.LZ4.LZ4Pickler.DecodeHeader(ReadOnlySpan`1 source)
   at K4os.Compression.LZ4.LZ4Pickler.Unpickle(ReadOnlySpan`1 source)
   at EasyCompressor.LZ4Compressor.BaseDecompress(Byte[] compressedBytes) in /_/src/EasyCompressor.LZ4/LZ4Compressor.cs:line 200
   at EasyCompressor.BaseCompressor.Decompress(Byte[] compressedBytes) in /_/src/EasyCompressor/Compressors/Base/BaseCompressor.cs:line 80
   at Flux.API.Domain.Services.FilesService.GetFileData(Int32 userId, Int32 fileId) in D:\Projects\ISPB_BACK\Flows\Flux.API\Domain\Services\FilesService.cs:line 77

Steps to Reproduce:

  1. Compress data using EasyCompressor version 1.4.0 with LZ4 compression.
  2. Update EasyCompressor to version 2.0.2.
  3. Attempt to decompress the previously compressed data using the updated version.

Expected Behavior:
The data compressed with version 1.4.0 should be decompressed successfully with version 2.0.2 without any errors or data corruption.

Actual Behavior:
The decompression process fails, and the application throws an error indicating that the pickle version is not recognized.

Questions:

  • Is there a compatibility issue between the LZ4 compression used in versions 1.4.0 and 2.0.2 of EasyCompressor?
  • How can we enable or use a legacy mode for LZ4 compression to ensure compatibility and successful decompression of data compressed with earlier versions of EasyCompressor?

Environment:

  • EasyCompressor version: 2.0.2 (upgraded from 1.4.0)
  • Runtime: (.Net 8.)
  • OS: (W10)

We would appreciate any guidance or suggestions on how to address this issue to ensure smooth data handling across different versions of EasyCompressor. Thank you for your support.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions