• Jan Lindström's avatar
    MDEV-11336: Enable defragmentation on 10.2 when tests pass · a4fa940b
    Jan Lindström authored
    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.
    a4fa940b
sync0rw.cc 33.8 KB