On 23/12/2023 08:18, Xin Li wrote:
Hi,
Inspired by D42961, I propose that we move forward with disabling the
compression by default in newsyslog, as implemented in
https://reviews.freebsd.org/D43169
Historically, newsyslog has compressed rotated log files to save disk
space. This approach was valuable in the early days where storage space
was limited. However, the landscape has changed significantly. Modern
file systems, such as ZFS, now offer native compression capabilities.
Additionally, the widespread availability of larger hard drives has
diminished the necessity for additional compression. Notably, the need
to decompress log files for pattern searches poses a significant
inconvenience, further questioning the utility of this legacy feature.
In commit 906748d208d3, flags J, X, Y, Z can now indicate that a log
file is eligible for compression rather than directly enforcing it. It
allows for a more flexible approach, wherein the actual compression
method can be set to "none" or specified as one among bzip2, gzip, xz,
or zstd.
Therefore I would propose that we change the default compression setting
to "none" in FreeBSD 15.0. This change reflects our adaptation to the
evolving technological environment and user needs. It also aligns with
the broader initiative to modernize our systems while maintaining
flexibility and efficiency.
I look forward to your thoughts and feedback on this proposal.
I don't think anything needs to be changed on newsyslog. Those who want
to disable compression can do so in the "default" newsyslog.conf file.
Why force this change in the newsyslog code?
I also don't think that the log file should not be compressed even on a
compressed filesystem. Compressed log files can be handled by tools like
zcat, zless, zgrep, etc. without first decompressing the log file. Text
log files can still grow to large sizes, and if you have a daily backup
job over a long distance network, if you use a protocol without own
compression, it is still better to have compressed log files than
uncompressed on a compressed filesystem. To me, it's the same as
compressing large database dumps and not relying on filesystem compression.
YMMV, but I really don't see any benefit of changing the newsyslog code,
just change defaults in newsyslog.conf.
Kind regards
Miroslav Lachman