Buffer page I/O fix race condition in buf_LRU_remove_all_pages()

Bug #1116447 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
Laurynas Biveinis
5.1
Invalid
Undecided
Unassigned
5.5
Fix Released
High
Laurynas Biveinis

Bug Description

I did not check the wrong code path fully through, but at least one defect is there and it might explain

InnoDB: Warning: hash index ref_count (182) is not zero after fil_discard_tablespace().
index: "idx1" table: "xx_xxxxx_xxxx/patient_pdups"

error messages in several bug reports (bug 1096324, bug 1086700).

buf_LRU_remove_all_pages() performs a dirty call to buf_page_get_io_fix(). Thus, buf_LRU_remove_all_pages() may attempt to remove I/O-fixed pages by buf_LRU_block_remove_hashed_page() which is clearly not intended.

Similar to bug 934377, bug 1110102, bug 1111211.

Tags: xtradb

Related branches

tags: added: xtradb
Revision history for this message
Eric H (eric-hardway) wrote :

I am running Percona Version: '5.1.67rel14.3-log' with innodb_lazy_drop_table = 1 enabled.

And i am getting these errors.

I am hostin my cacti database on this instance.

CREATE TABLE `poller_output` (
  `local_data_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `rrd_name` varchar(19) NOT NULL DEFAULT '',
  `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `output` text NOT NULL,
  PRIMARY KEY (`local_data_id`,`rrd_name`,`time`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

InnoDB: Warning: hash index ref_count (1) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (1) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (1) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (2) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (3) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (4) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (5) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (5) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (5) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (6) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (7) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (8) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"
InnoDB: Warning: hash index ref_count (8) is not zero after fil_discard_tablespace().
index: "PRIMARY" table: "cacti/poller_output"

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Eric -

The issue you are experiencing is not related to this bug since you have the lazy drop table feature enabled. Please file a new bug so that your report is not lost. Thanks.

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Also related: bug 1122462.

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-631

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.