Buffer pool locking error on reads from tablespaces being deleted

Bug #1042640 reported by Laurynas Biveinis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
High
Stewart Smith
5.1
Invalid
Undecided
Unassigned
5.5
Fix Released
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

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-580

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.