1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-11336: Enable defragmentation on 10.2 when tests pass

Problem was that we could take page latches on different
order than wat is entitled with SX-lock. To follow the
latching order defined in WL#6326, acquire index->lock X-latch.
This entitles us to acquire page latches in any order for the index.

btr0btr.cc
	Document latch rules before and after MariaDB 10.2.2

sync0rw.cc
	Document latch compatibility rules better.

btr_defragment_merge_pages
	Fix parameter value.

btr_defragment_thread
	Acquire X-lock to dict_index_t::lock before restoring
	cursor position and continuing defragmentation.

ha_innobase::optimize
	Restore defragment feature.

Testing
	Add GIS-index and FT-index to table being defragmented.

	Defragmentation is not done to GIS-indexes and FT auxiliary
	tables.
This commit is contained in:
Jan Lindström
2017-10-12 12:56:20 +03:00
parent 4c9d19ee65
commit a4fa940bad
7 changed files with 133 additions and 38 deletions

View File

@ -10,14 +10,5 @@
#
##############################################################################
innodb_defragment_fill_factor : MDEV-11336 Fix and enable innodb_defragment
innodb.defrag_mdl-9155 : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defrag_concurrent : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defrag_stats : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defrag_stats_many_tables : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defragment : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defragment_fill_factor : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defragment_small : MDEV-11336 Fix and enable innodb_defragment
innodb.innodb_defrag_binlog : MDEV-11336 Fix and enable innodb_defragment
innodb-wl5980-alter : MDEV-9469 / MDEV-13668 extra crash in 10.2
create-index-debug : MDEV-13680 InnoDB may crash when btr_page_alloc() fails