WL#10478: Defaults: Enable Binary Log Expiration

Affects: Server-8.0   —   Status: Complete

Rationale
----------------
By default we should place some reasonable limit on the lifespan of binary logs.
30 days is a fairly safe minimum limit (removal happens at startup and when the
binary log is flushed). This will help to prevent excessive amounts of disk
space being wasted on binary logs that are no longer needed for replication or
recovery purposes.


Server Changes:
----------------
expire_logs_days = 30 : This causes mysqld to periodically purge unused binary
logs that are older than 30 days


User Override
----------------
expire_logs_days= 0 : This will disable any automatic binary log purges
( Note: There will be no automatic binary log purges, provided 
        binlog_expire_logs_seconds= 0 and expire_logs_days= 0 )


Upgrade Story
----------------
There are no special upgrade considerations. 


Acceptance Criteria 
----------------
1. This setting should not cause any instability/failures in our automated tests. 
2. This setting should not cause any performance regressions in SysQA perf tests.
Functional Requirements:
========================
FR1: The new default setting expire_logs_days=30 shall not cause any regressions
     in existing test suites in MTR and JET.


Non-functional requirements:
============================
NF1: The new default settings shall not cause any performance regressions
     on the server.
High-Level Specification:
=========================
The worklog deals with setting new default value for variable expire_logs_days.

Note that expire_logs_days will purge a binarylog after given number of days.
So In theory there will be no effect on existing test suites with new default
expire_logs_days being set to 30 because, at present none of the tests uses a
30 days old binary-log. However, there are tests to verify functionality of the
variable.