Percona Server with XtraDB

Buffer pool locking error on reads from tablespaces being deleted

Reported by Laurynas Biveinis on 2012-08-28
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
High
Stewart Smith
5.1
Undecided
Unassigned
5.5
High
Stewart Smith

Bug Description

Found by code analysis:

if buf_read_page_low() I/O requests returns DB_TABLESPACE_DELETED, an assertion crash will happen on debug build and buffer LRU list corruption will happen on release build. This is a new code introduced by upstream revision 0.16677.56 [1]. It was automerged to XtraDB, adding a new function buf_read_page_handle_error(), that acquires and releases the buffer pool mutex. It should be the LRU list mutex instead. That function calls buf_LRU_free_one_page(), adjusted to assert that it holds the buffer pool mutex, which in turn calls unchanged function buf_LRU_block_remove_hashed_page(), which asserts that it holds the LRU list mutex.

[1]
revno: 0.16677.56
committer: Yasufumi Kinoshita <email address hidden>
branch nick: mysql-5.5_test
timestamp: Fri 2012-06-29 12:04:44 +0900
message:
  Bug#14251529 : FIX FOR BUG 13704145 CREATES POSSIBLE RACE CONDITION
  make buf_read_page_low() to treat DB_TABLESPACE_DELETED error correctly
  rb#1129 approved by Inaam

Related branches

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers