[MDEV-9451] innodb_buffer_pool_populate does not seem to work on 10.1.10 Created: 2016-01-22 Updated: 2017-05-15 Resolved: 2016-12-02 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - XtraDB |
| Affects Version/s: | 10.0.23, 10.1.10, 10.1.17 |
| Fix Version/s: | 10.1.20, 10.2.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | aleksandr stankevic | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | contribution, foundation, innodb, patch | ||
| Environment: |
Debian Wheezy / Debian Jessie |
||
| Description |
|
It seems that innodb_buffer_pool_populate stopped working in MariaDB 10.1.10, it does work properly in 10.1.9: MariaDB 10.1.9:
MariaDB 10.1.10:
mysql.cnf:
|
| Comments |
| Comment by Daniel Black [ 2016-09-19 ] | |||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2016-11-28 ] | |||||||||||||||||||||||||||||||
|
It seems that this was caused by the following:
The following hunk in ha_innodb.cc should be reverted:
Note: the variable srv_numa_interleave is correctly bound in the hunk that immediately follows the above:
| |||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2016-11-28 ] | |||||||||||||||||||||||||||||||
|
Good find marko. Kinda obvious in hindsight. Pull request added. Numa wasn't really enabled until 10.2 - | |||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2016-11-28 ] | |||||||||||||||||||||||||||||||
|
Reverting the hunk isn't sufficient. Percona have removed the srv_buf_pool_populate functionality entirely as the description says. I updated https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_buffer_pool_populate to reflect the version it got deprecated. As NUMA never got enabled in 10.1 this had no effect at all. I suggest the best course of action is to remove the option in 10.2. | |||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2016-11-30 ] | |||||||||||||||||||||||||||||||
|
referenced pull request 262 removes option innodb_buffer_pool_populate | |||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2016-12-01 ] | |||||||||||||||||||||||||||||||
|
I changed 10.1 so that it will display a clear warning message when the option is set. | |||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2016-12-01 ] | |||||||||||||||||||||||||||||||
|
I merged the contribution to remove the parameter in 10.2.3. The deprecation message would be introduced in 10.1.20. | |||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2016-12-01 ] | |||||||||||||||||||||||||||||||
|
Thanks marko. good idea including deprecation in 10.1. | |||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2016-12-02 ] | |||||||||||||||||||||||||||||||
|
Ok to push. | |||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2017-03-06 ] | |||||||||||||||||||||||||||||||
|
For the record: MySQL 5.6.27 included a contributed fix for MySQL Bug #72811. The merge of Percona 5.6.27-76.0 to MariaDB Server 10.0.23 removed the MAP_POPULATE flag altogether, and instead made innodb_buffer_pool_populate an alias to innodb_numa_interleave. If NUMA is not available, the innodb_buffer_pool_populate would have no effect. It could make sense to retain the MAP_POPULATE flag in that case. My commit for MariaDB 10.1.20 removed the connection between innodb_buffer_pool_populate and innodb_numa_interleave. The bug still exists in the 10.0 series since 10.0.23. | |||||||||||||||||||||||||||||||
| Comment by Arnaud Adant [ 2017-05-15 ] | |||||||||||||||||||||||||||||||
|
please document this. the deprecated variable replacement is not documented in the manual https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_buffer_pool_populate thanks ! |