Bug #109598 | Set of innodb_buffer_pool_in_core_file=0 in my.cnf doesn't take effect | ||
---|---|---|---|
Submitted: | 12 Jan 7:54 | Modified: | 12 Jan 14:45 |
Reporter: | jie xu | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 8.0 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | innodb_buffer_pool_in_core_file |
[12 Jan 7:54]
jie xu
[12 Jan 10:06]
huahua xu
Hi jie xu, Whether the system variable `core_file` is set at server startup using options on the command line or in an option file: 1. core_file=0 in my.cnf 2. --core-file on the command line
[12 Jan 13:24]
MySQL Verification Team
Hi Mr. xu, Thank you for your bug report. However, what you describe is expected behaviour. Disabling innodb_buffer_pool_in_core_file takes effect only if the core_file variable is enabled and the operating system supports the MADV_DONTDUMP non-POSIX extension to the madvise() system call. That is how it works .... This is all described in the chapter 15.8.3.7. Not a bug.
[12 Jan 13:47]
jie xu
Thank for you reply. Of course i know how innodb_buffer_pool_in_core_file works. I set the core_file variable, and my operating system supports the MADV_DONTDUMP non-POSIX extension to the madvise() system call. I means if you set innodb_buffer_pool_in_core_file=0 in my.cnf and not on the command line, it wouldn't take effect. you can try this.
[12 Jan 13:57]
MySQL Verification Team
Hi, Try using OFF and if that does not work, try on the command line ......
[12 Jan 13:57]
MySQL Verification Team
Also, please try 8.0.31 and the OS that supports that call .....
[12 Jan 14:12]
jie xu
Thank for you reply again... My MySQL version is 8.0.13 and i check the MySQL 8.0.31 source code. The buf_pool_update_madvise() still only called by innodb_srv_buffer_pool_in_core_file_update. That means buf_pool_should_madvise only update when innodb_buffer_pool_in_core_file is changed. And i set innodb_buffer_pool_in_core_file=OFF in my.cnf and start MySQL still doesn't work. If i set innodb_buffer_pool_in_core_file=OFF on the command line; it works, the buffer pool doesn't dump into core file.
[12 Jan 14:20]
MySQL Verification Team
Hi , I have set my buffer pool to 2 Gb, turned core_file to ON and innodb_buffer_pool_in_core_file to OFF and crashed the server. I got a core file that was smaller then 100 Mb. Can't repeat.
[12 Jan 14:26]
jie xu
Sorry, I check MySQL 8.0.13 source code again. That update buf_pool_should_madvise in buf_pool_init(). That would works. Thank you!!!
[12 Jan 14:28]
jie xu
Not 8.0.13, 8.0.31 source code would be ok. The 8.0.13 source code has this problem.
[12 Jan 14:45]
jie xu
I try this on MySQL 8.0.31, that works. Thank you!