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.
Copyright (c) 2000, 2023, Oracle Corporation and/or its affiliates. All rights reserved.