Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from overhangio:master #172

Merged
merged 2 commits into from
Nov 23, 2023
Merged

Conversation

pull[bot]
Copy link

@pull pull bot commented Nov 23, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 馃挅 Please sponsor : )

fghaas and others added 2 commits November 23, 2023 09:39
MySQL 8 defaults to a binlog expiry period of 2592000聽seconds
(30聽days), which for Tutor/Open聽edX purposes can be considered
excessive.

On the one hand, it is unlikely that a MySQL server configured for
Tutor uses MySQL replication at all (considering that up until Tutor
15 and MySQL 5.7, the binlog was disabled by default, rendering
replication impossible). Even if it does, a replica lagging more than
two days behind the primary server would be unacceptable.

Likewise, it is unlikely that an Open聽edX database is backed up less
than once a day, thus is is unlikely that Open聽edX admins would
benefit from the ability to do point-in-time restore over a 30-day
period.

On the other hand, having a 30-day binlog expiry period can
considerably increase the storage space requirements for the MySQL
container, particularly on busy Open聽edX platforms. When left
unchecked, this can even cause the MySQL container to run into "No
space left on device" situations, disabling the MySQL database
altogether. Thus, the MySQL default settings are likely to be a net
disadvantage for Open聽edX admins.

Finally, all of the above considerations apply only if the Open聽edX
administrator has chosen to run their own MySQL and not opted for a
DBaaS solution like AWS聽RDS.

Thus, it should be acceptable to run with a reduced binlog expiry
period of 3 days (rather than 30) by default.

Therefore, inject the --binlog-expire-logs-seconds=259200 argument
into the Tutor-generated command to start mysqld.

Reference:
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_expire_logs_seconds
disable `ulimits` in rootless docker mode by setting them to zero
@pull pull bot added the 猡碉笍 pull label Nov 23, 2023
@pull pull bot merged commit 65ba0d2 into ChristianLight:master Nov 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants