lp:~laurynas-biveinis/percona-server/bug1279671

Created by Laurynas Biveinis and last modified
Get this branch:
bzr branch lp:~laurynas-biveinis/percona-server/bug1279671
Only Laurynas Biveinis can upload to this branch. If you are Laurynas Biveinis please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

543. By Laurynas Biveinis

Fix bug 1279671: upstream fix for
http://bugs.mysql.com/bug.php?id=70768 causes RW lock creations and
destructions at a high rate during ibuf merge.

The fix for upstream 70768 removed the static array of 64 shared
latches that were used for dict_table_t stat field protection and
replaced it with a new field dict_table_t::stats_latch that is
dynamically initialized in dict_mem_table_create and destroyed in
dict_mem_table_free.

This was unconditional for dummy dict_table_t objects too, that are
created by the ibuf merge, compressed page decompression, crash
recovery, and the dummy indexes for redundant and compact row record
format supremum and infimum records. Some of these might such as ibuf
merge may get created and destroyed at a high enough rate so that the
additional rwlock creation and destroy becomes a bottleneck.

Since the dummy dict_table_t objects do not participate in query
optimizer stat calculations, do not construct and destroy stats_latch
for them. At the same time, since such objects do not participate in
user transactions nor have auto increment fields, do not construct
autoinc_lock nor autoinc_mutex fields neither.

542. By Laurynas Biveinis

Automerge prerequisite branch

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.