summaryrefslogtreecommitdiff
path: root/storage/innobase
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-02-24 15:12:09 +0200
committerGitHub <noreply@github.com>2017-02-24 15:12:09 +0200
commit342b48b7b1cf9c5ed3db04d5b7abff335d6e3090 (patch)
tree2daabb1763bfde3fbd31913bf37058f5f6687c99 /storage/innobase
parent979e94d264f04a2de59012bc3897e9e3b16d94ad (diff)
parent473fb9295db547136bedcc6aae4bae4fcfb5c4f0 (diff)
downloadmariadb-git-342b48b7b1cf9c5ed3db04d5b7abff335d6e3090.tar.gz
Merge pull request #264 from grooverdan/10.2-MDEV-11454-innodb_buffer_pool_dump_pct-entire-pool
MDEV-11454: Make innodb_buffer_pool_dump_pct refer to the entire buffer pool size
Diffstat (limited to 'storage/innobase')
-rw-r--r--storage/innobase/buf/buf0dump.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/storage/innobase/buf/buf0dump.cc b/storage/innobase/buf/buf0dump.cc
index 6100bf7aa93..9110345fa24 100644
--- a/storage/innobase/buf/buf0dump.cc
+++ b/storage/innobase/buf/buf0dump.cc
@@ -314,9 +314,21 @@ buf_dump(
}
if (srv_buf_pool_dump_pct != 100) {
+ ulint t_pages;
+
ut_ad(srv_buf_pool_dump_pct < 100);
- n_pages = n_pages * srv_buf_pool_dump_pct / 100;
+ /* limit the number of total pages dumped to X% of the
+ * total number of pages */
+ t_pages = buf_pool->curr_size
+ * srv_buf_pool_dump_pct / 100;
+ if (n_pages > t_pages) {
+ buf_dump_status(STATUS_INFO,
+ "Instance %d, restricted to %u pages " \
+ "due to innodb_buf_pool_dump_pct (%d)",
+ i, t_pages, srv_buf_pool_dump_pct);
+ n_pages = t_pages;
+ }
if (n_pages == 0) {
n_pages = 1;