diff options
author | Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> | 2012-10-17 16:16:45 +0900 |
---|---|---|
committer | Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> | 2012-10-17 16:16:45 +0900 |
commit | bdc6895d35a55bb9a7b2ff7660d1093249f0f42e (patch) | |
tree | d1f6a9f24a6779ddd34c9bfd970dab2917162e7a /storage | |
parent | b4a7756186c3a711cb93b76e7c06656267a820d9 (diff) | |
parent | 39e6eafc208476b15e134aa3c31dd11af512a146 (diff) | |
download | mariadb-git-bdc6895d35a55bb9a7b2ff7660d1093249f0f42e.tar.gz |
Bug #13702112 : WAIT_FOR_READ IS STUCK IN THE 90S
rb://1334
approved by: Inaam Rana
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/buf/buf0buf.c | 7 |
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; } |