revision-id: 8edbb1117a9e1fd81fbd08b8f1d06c72efe38f44 (mariadb-10.2.5-168- g8edbb1117a9)
parent(s): f4df8c00c957146f04db031f1f9f80aab229d1d2
author: Jan Lindström
committer: Jan Lindström
timestamp: 2017-05-11 11:15:37 +0300
message:
MDEV-12741: innodb.ibuf_not_empty failed in buildbot with "InnoDB: Trying to do I/O to a tablespace which does not exist"
Background thread is doing ibuf merge, in buf0rea.cc buf_read_ibuf_merge_pages().
It first tries to get page_size and if space is not found it deletes them, but
as we do not hold any mutexes, space can be marked as stopped between that
and buf_read_page_low() for same space. This naturally leads seen error
message on log.
buf_read_page_low(): Add parameter ignore_missing_space = false that
is passed to fil_io()
@@ -178,7 +180,7 @@ buf_read_page_low(
*err = fil_io(
request, sync, page_id, page_size, 0, page_size.physical(),
- dst, bpage);
+ dst, bpage, ignore_missing_space);
if (sync) {
thd_wait_end(NULL);