Permalink
Browse files

BUG#20878735 IN IBUF_BITMAP_GET_MAP_PAGE_FUNC, BUF_PAGE_GET_GEN FAILS

We fail to read an ibuf page for merging in an io thread, and another
user thread is trying to delete the table. In this case, we should
enable the sync read operations in fil_io, other than returning error
"DB_TABLESPACE_DELETED".

Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM
  • Loading branch information...
Shaohua Wang
Shaohua Wang committed May 27, 2015
1 parent 2f09f87 commit 3ba4563a757e07c3052c780b63e2626c78ca5c47
Showing with 5 additions and 4 deletions.
  1. +5 −4 storage/innobase/fil/fil0fil.cc
@@ -1,6 +1,6 @@
/*****************************************************************************
Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -5575,9 +5575,10 @@ fil_io(
space = fil_space_get_by_id(space_id);
/* If we are deleting a tablespace we don't allow any read
operations on that. However, we do allow write operations. */
if (space == 0 || (type == OS_FILE_READ && space->stop_new_ops)) {
/* If we are deleting a tablespace we don't allow async read operations
on that. However, we do allow write and sync read operations */
if (space == 0
|| (type == OS_FILE_READ && !sync && space->stop_new_ops)) {
mutex_exit(&fil_system->mutex);
ib_logf(IB_LOG_LEVEL_ERROR,

0 comments on commit 3ba4563

Please sign in to comment.