Re: Proposal: Disable compression of newsyslog by default

From: Xin Li <delphij_at_delphij.net>
Date: Sat, 23 Dec 2023 19:22:11 UTC
On 2023-12-23 06:52, Konstantin Belousov wrote:
> On Fri, Dec 22, 2023 at 11:18:23PM -0800, 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.
> 
> This is strange change at best.  I have no opinion about the disabling
> of compression of the rotated logs by default, but we already have knobs
> to do that.  Adding a knob that disables (or enables) other knobs to work
> is weird.
> 
> If you want to change the compression, update the default configuration file.

The primary issue with simply updating the default configuration file is 
the increased workload it imposes during system upgrades. Since the 
compression method flag is a part of newsyslog.conf, standard conflict 
resolution tools like diff3 struggle to automatically resolve changes 
involving these flags without manual intervention. This situation 
necessitates that users manually reconcile their configuration with 
every update to newsyslog.conf, even for minor alterations like 
switching the default compression method.

Therefore, the proposal isn't about adding another knob within 
newsyslog.conf. Rather, it's about introducing a command-line option for 
newsyslog (to be used in /etc/crontab) that specifies the preferred 
compression method, or the choice not to compress at all. This approach 
is more self-contained compared to modifying each line in 
newsyslog.conf. It offers a simpler, more straightforward solution for 
administrators to manage their compression settings, reducing the 
administrative burden during upgrades.

I hope this clarifies the rationale behind the proposed changes and 
their potential benefits.