| Bug #107783 | Maybe a bug about auto innodb_log_files_in_group in dedicated server | ||
|---|---|---|---|
| Submitted: | 6 Jul 2022 15:43 | Modified: | 7 Jul 2022 15:05 |
| Reporter: | Stephen Zhao | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 8.0 | OS: | Linux |
| Assigned to: | MySQL Verification Team | CPU Architecture: | x86 |
[6 Jul 2022 15:43]
Stephen Zhao
[7 Jul 2022 9:10]
MySQL Verification Team
Hi, I don't see how is this a bug. The documentation shows the formula just as the source code does it. Yes, the automatic calculation is not perfect, it is very rudimentary but feel free to commit a proposed change how to do it better and we will consider it. kind regards
[7 Jul 2022 15:05]
Stephen Zhao
According to the existing code,code, srv_n_log_files will be 96 when auto_buf_pool_size_in_gb=128G, this is much greater than 64.
Adding another limit to take a smaller value between the computed value and 64 is more reasonable.
if (auto_buf_pool_size_in_gb < 1.0) {
;
} else if (auto_buf_pool_size_in_gb < 8.0) {
srv_n_log_files = static_cast<ulong>(round(auto_buf_pool_size_in_gb));
} else if (auto_buf_pool_size_in_gb <= 128.0) {
srv_n_log_files =
static_cast<ulong>(round(auto_buf_pool_size_in_gb * 0.75));
// add a if: begin
if (srv_n_log_files > 64) {
srv_n_log_files = 64;
}
// add a if: end
} else {
srv_n_log_files = 64;
}
