It has already been deployed on pc100[123] servers:
innodb_buffer_pool_load_at_startup innodb_buffer_pool_dump_at_shutdown
It has already been deployed on pc100[123] servers:
innodb_buffer_pool_load_at_startup innodb_buffer_pool_dump_at_shutdown
| Subject | Repo | Branch | Lines +/- | |
|---|---|---|---|---|
| Enable buffer pool load at start and dump at stop | operations/puppet | production | +5 -1 |
Good things:
Bad things:
I tested this on pc100[123] with no issue, plus on some production servers manually (_dump_now, _load_now). This is how to recognize the process on the error log (emphasis mine):
Dump:
150601 14:42:03 [Note] InnoDB: Starting shutdown... **2015-06-01 14:42:03 7edd33ff8700 InnoDB: Dumping buffer pool(s) to .//ib_buffer_pool** **2015-06-01 14:42:06 7edd33ff8700 InnoDB: Buffer pool(s) dump completed at 150601 14:42:06** 150601 14:42:18 [Note] InnoDB: Shutdown completed; log sequence number 79427498760587 150601 14:42:18 [Note] /opt/wmf-mariadb10/bin/mysqld: Shutdown complete
Load:
**2015-06-01 14:42:30 7f2bbfff8700 InnoDB: Loading buffer pool(s) from .//ib_buffer_pool** 150601 14:42:30 [Note] Server socket created on IP: '::'. 150601 14:42:30 [Note] Server socket created on IP: '::'. 150601 14:42:30 [Warning] 'user' entry 'root@pc2' ignored in --skip-name-resolve mode. 150601 14:42:30 [Warning] 'user' entry '@pc2' ignored in --skip-name-resolve mode. 150601 14:42:30 [Note] Event Scheduler: scheduler thread started with id 2 150601 14:42:30 [Note] /opt/wmf-mariadb10/bin/mysqld: ready for connections. Version: '10.0.16-MariaDB-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution **2015-06-01 16:18:44 7f2bbfff8700 InnoDB: Buffer pool(s) load completed at 150601 16:18:44**
If the buffer does not load (for example, the LRU list does not exist), it logs it to the error log, but it is not fatal:
2015-05-28 10:58:36 7edd33ff8700 InnoDB: Loading buffer pool(s) from .//ib_buffer_pool 2015-05-28 10:58:36 7edd33ff8700 InnoDB: Cannot open './/ib_buffer_pool' for reading: No such file or directory (boot sequence continues)
This doesn't solve the problem in case of a crash, but given that it would be a special case, I wouldn't mind. It could be done with an event, executing the dump from time to time- but in order to be effective it should be very regular, and it is know to have caused problems in the past (clarification: for the Facebook/Percona implementation, not 5.6) in terms of buffer pool global locks.
References:
Thoughts?
Change 215320 had a related patch set uploaded (by Jcrespo):
Enable buffer pool load at start and dump at stop