summaryrefslogtreecommitdiff
path: root/storage/innobase/buf
diff options
context:
space:
mode:
authorYasufumi Kinoshita <yasufumi.kinoshita@oracle.com>2012-10-17 16:16:45 +0900
committerYasufumi Kinoshita <yasufumi.kinoshita@oracle.com>2012-10-17 16:16:45 +0900
commitfb11b4fd45bb5c895e3754dfbaf5515d341106bb (patch)
treed1f6a9f24a6779ddd34c9bfd970dab2917162e7a /storage/innobase/buf
parent61ab1a4ba9bb4714c747e88f72a7cd96f884acd0 (diff)
parentf8bae00ab169de7707bd3f337743b449f7bbf83f (diff)
downloadmariadb-git-fb11b4fd45bb5c895e3754dfbaf5515d341106bb.tar.gz
Bug #13702112 : WAIT_FOR_READ IS STUCK IN THE 90S
rb://1334 approved by: Inaam Rana
Diffstat (limited to 'storage/innobase/buf')
-rw-r--r--storage/innobase/buf/buf0buf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/storage/innobase/buf/buf0buf.c b/storage/innobase/buf/buf0buf.c
index 70841a168ab..1af019dfc45 100644
--- a/storage/innobase/buf/buf0buf.c
+++ b/storage/innobase/buf/buf0buf.c
@@ -242,7 +242,7 @@ the read requests for the whole area.
#ifndef UNIV_HOTBACKUP
/** Value in microseconds */
-static const int WAIT_FOR_READ = 5000;
+static const int WAIT_FOR_READ = 100;
/** Number of attemtps made to read in a page in the buffer pool */
static const ulint BUF_PAGE_READ_MAX_RETRIES = 100;
@@ -2582,8 +2582,9 @@ wait_until_unfixed:
mutex_exit(&block->mutex);
if (io_fix == BUF_IO_READ) {
-
- os_thread_sleep(WAIT_FOR_READ);
+ /* wait by temporaly s-latch */
+ rw_lock_s_lock(&(block->lock));
+ rw_lock_s_unlock(&(block->lock));
} else {
break;
}