summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-10-18 11:54:18 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-10-18 11:57:38 +0300
commit3294f6c30d9f242a6ac3635272dceffdd8713301 (patch)
treeca4f71107260c987a4f0577c4a6f09eff0804b19 /storage
parent3bc094d32a360b7d51600cf11bc4ce24117ecb78 (diff)
parent59d3ba0b5d68b24b7b3339700d05c6c3a6fab13e (diff)
downloadmariadb-git-3294f6c30d9f242a6ac3635272dceffdd8713301.tar.gz
MDEV-14085 Merge new release of InnoDB MySQL 5.7.20 to 10.2bb-10.2-marko-5.7.20
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/buf/buf0rea.cc24
-rw-r--r--storage/innobase/include/univ.i2
2 files changed, 25 insertions, 1 deletions
diff --git a/storage/innobase/buf/buf0rea.cc b/storage/innobase/buf/buf0rea.cc
index f7ea768f5c1..598da3ff706 100644
--- a/storage/innobase/buf/buf0rea.cc
+++ b/storage/innobase/buf/buf0rea.cc
@@ -176,6 +176,17 @@ buf_read_page_low(
dst = ((buf_block_t*) bpage)->frame;
}
+ DBUG_EXECUTE_IF(
+ "innodb_invalid_read_after_truncate",
+ if (fil_space_t* space = fil_space_acquire(page_id.space())) {
+ if (!strcmp(space->name, "test/t1")
+ && page_id.page_no() == space->size - 1) {
+ type = 0;
+ sync = true;
+ }
+ fil_space_release(space);
+ });
+
IORequest request(type | IORequest::READ);
*err = fil_io(
@@ -321,6 +332,19 @@ buf_read_ahead_random(
that is, reside near the start of the LRU list. */
for (i = low; i < high; i++) {
+ DBUG_EXECUTE_IF(
+ "innodb_invalid_read_after_truncate",
+ if (fil_space_t* space = fil_space_acquire(
+ page_id.space())) {
+ bool skip = !strcmp(space->name, "test/t1");
+ fil_space_release(space);
+ if (skip) {
+ high = space->size;
+ buf_pool_mutex_exit(buf_pool);
+ goto read_ahead;
+ }
+ });
+
const buf_page_t* bpage = buf_page_hash_get(
buf_pool, page_id_t(page_id.space(), i));
diff --git a/storage/innobase/include/univ.i b/storage/innobase/include/univ.i
index e797fd7bef7..ce124f2fe11 100644
--- a/storage/innobase/include/univ.i
+++ b/storage/innobase/include/univ.i
@@ -41,7 +41,7 @@ Created 1/20/1994 Heikki Tuuri
#define INNODB_VERSION_MAJOR 5
#define INNODB_VERSION_MINOR 7
-#define INNODB_VERSION_BUGFIX 19
+#define INNODB_VERSION_BUGFIX 20
/* The following is the InnoDB version as shown in
SELECT plugin_version FROM information_schema.plugins;