LZMA compressor does ignore file extensions from default_compressed_extensions.txt

It seems that LZMA compressor does ignore advenced option “–compression-extension-file: default_compressed_extensions.txt” and compress already compressed files anyway.
I have a test folder with various .pdf files, I’ve added manually the “.pdf” (but this bug “works” with other default extensions as .mp3) extension to the “default_compressed_extensions.txt” file and run a few tests. Folder size is about 2.75 GB:

zip-compression-method - LZMA - default_compressed_extensions.txt with .pdf - takes about 13min.
zip-compression-method - LZMA - default_compressed_extensions.txt without .pdf - takes about 12min.
zip-compression-method - Deflate - default_compressed_extensions.txt with .pdf - takes about 0:56 sec.
zip-compression-method - Deflate - default_compressed_extensions.txt without .pdf - takes about 2:30 min.

Default “deflate” method correctly process already compressed files (according to “default_compressed_extensions.txt” ) and doesn’t compress them. LZMA mode does ignore these extensions and compress them anyway (thus no difference in profile execution time). I’m using Duplicati version

Possibly due to below, if this is what you set:

C:\ProgramData\Duplicati\duplicati->Duplicati.CommandLine.exe help zip-compression-method
  --zip-compression-method (Enumeration): Sets the Zip compression method
    This option can be used to set an alternative compressor method, such as
    LZMA. Note that using another value than Deflate will cause the
    zip-compression-level option to be ignored.
    * values: None, Deflate, BZip2, LZMA, PPMd
    * default value: Deflate


That’s correct. Other value than Deflate will not only cause “zip-compression-level” option to be ignored but “compression-extension-file” option will be ignored as well.

Maybe indirectly. It might not be ignored at all, but just unable to change the zip compression level.
Feel free to open an Issue requesting further research, and clarification of any second-level effects.


Ideally the documentation would also talk in the reverse, e.g. the affected options can also mention.

C:\ProgramData\Duplicati\duplicati->Duplicati.CommandLine.exe help zip-compression-level
  --zip-compression-level (Enumeration): Sets the Zip compression level
    This option controls the compression level used. A setting of zero gives
    no compression, and a setting of 9 gives maximum compression.
    * values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
    * default value: BestCompression
C:\ProgramData\Duplicati\duplicati->Duplicati.CommandLine.exe help compression-extension-file
  --compression-extension-file (Path): Manage non-compressible file extensions
    This property can be used to point to a text file where each line contains
    a file extension that indicates a non-compressible file. Files that have
    an extension found in the file will not be compressed, but simply stored
    in the archive. The file format ignores any lines that do not start with
    a period, and considers a space to indicate the end of the extension. A
    default file is supplied, that also serves as an example. The default
    file is placed in
    * default value:


Yeah… probably it is a just problem with constant (non-changeable) compression level in the lzma mode. Thanks for tip about git page (it is probably above my level of knowledge, but who knows). And yes, documentation should mention about further consequences of using a non-deflate modes (if it is that case…). Anyway - lzma mode has its quirks - but for now, case closed I think.