innodb_lru_dump_restore.patch: buf_LRU_file_dump() holds LRU_list_mutex while doing file I/O
Bug #686534 reported by
Alexey Kopytov
This bug affects 6 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Medium
|
George Ormond Lorch III | ||
5.1 |
Fix Released
|
Medium
|
George Ormond Lorch III | ||
5.5 |
Fix Released
|
Medium
|
George Ormond Lorch III |
Bug Description
buf_LRU_file_dump() holds LRU_list_mutex when writing to the dump file. This basically means that all operations on buffer pool are blocked for the duration of the dump.
We can easily improve this by first copying offsets to memory while holding the mutex, and then release it before the actual dump.
Related branches
lp:~percona-dev/percona-server/fb_changes_auto_lru_dump
On hold
for merging
into
lp:percona-server/release-5.1.54-12
- Vadim Tkachenko: Needs Fixing
- Fred Linhoss: Pending (documentation) requested
- Yasufumi Kinoshita: Pending requested
-
Diff: 1684 lines (+481/-217)16 files modifiedinnodb_adjust_defaults.patch (+4/-4)
innodb_buffer_pool_shm.patch (+7/-7)
innodb_deadlock_count.patch (+3/-3)
innodb_fast_checksum.patch (+4/-4)
innodb_fast_shutdown.patch (+15/-9)
innodb_files_extend.patch (+4/-4)
innodb_fix_misc.patch (+1/-1)
innodb_lru_dump_restore.patch (+375/-114)
innodb_pass_corrupt_table.patch (+27/-27)
innodb_separate_doublewrite.patch (+3/-3)
innodb_show_sys_tables.patch (+8/-11)
profiling_slow.patch (+2/-2)
response-time-distribution.patch (+1/-1)
show_slave_status_nolock.patch (+2/-2)
show_temp_51.patch (+2/-2)
userstat.patch (+23/-23)
lp:~gl-az/percona-server/5.1-686534-881001
- Laurynas Biveinis (community): Approve
- Alexey Kopytov: Pending requested
-
Diff: 190 lines (+78/-37)2 files modifiedPercona-Server/storage/innodb_plugin/buf/buf0lru.c (+77/-36)
Percona-Server/storage/innodb_plugin/handler/ha_innodb.cc (+1/-1)
Superseded
for merging
into
lp:percona-server/5.5
- Percona core: Pending requested
-
Diff: 8531 lines (+7710/-12) (has conflicts)54 files modified.bzrignore.OTHER (+4/-0)
Makefile.OTHER (+77/-0)
Percona-Server/mysql-test/r/information_schema.result (+166/-0)
Percona-Server/mysql-test/r/information_schema_db.result (+22/-0)
Percona-Server/mysql-test/r/mysqlshow.result (+20/-0)
Percona-Server/mysql-test/r/percona_server_variables_debug.result.OTHER (+356/-0)
Percona-Server/mysql-test/r/percona_server_variables_release.result.OTHER (+351/-0)
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_changed_page_bmp.result (+21/-0)
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_changed_page_bmp_no_restart.result (+6/-0)
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_skip_innodb_i_s.result (+93/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_bug_951588.test (+32/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp.test (+100/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp_no_restart-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp_no_restart.test (+21/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_skip_innodb_i_s-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_skip_innodb_i_s.test (+21/-0)
Percona-Server/sql/handler.cc (+4/-0)
Percona-Server/storage/innobase/buf/buf0lru.c (+90/-3)
Percona-Server/storage/innobase/fil/fil0fil.c (+6/-0)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+15/-0)
Percona-Server/storage/innobase/handler/i_s.cc (+891/-0)
Percona-Server/storage/innobase/handler/i_s.h (+3/-0)
Percona-Server/storage/innobase/include/log0log.h (+5/-0)
Percona-Server/storage/innobase/include/log0online.h (+51/-0)
Percona-Server/storage/innobase/include/log0recv.h (+37/-0)
Percona-Server/storage/innobase/include/os0file.h (+11/-0)
Percona-Server/storage/innobase/include/os0sync.h (+24/-4)
Percona-Server/storage/innobase/include/srv0srv.h (+24/-0)
Percona-Server/storage/innobase/include/ut0rbt.h.OTHER (+332/-0)
Percona-Server/storage/innobase/log/log0log.c (+123/-2)
Percona-Server/storage/innobase/log/log0online.c (+924/-0)
Percona-Server/storage/innobase/log/log0recv.c (+5/-3)
Percona-Server/storage/innobase/os/os0file.c (+19/-0)
Percona-Server/storage/innobase/srv/srv0srv.c (+62/-0)
Percona-Server/storage/innobase/srv/srv0start.c (+22/-0)
Percona-Server/storage/innobase/ut/ut0rbt.c.OTHER (+1273/-0)
Percona-Server/storage/innodb_plugin/CMakeLists.txt.OTHER (+88/-0)
Percona-Server/storage/innodb_plugin/Makefile.am.OTHER (+346/-0)
Percona-Server/storage/innodb_plugin/plug.in.OTHER (+289/-0)
doc/Makefile.OTHER (+138/-0)
doc/source/conf.py.OTHER (+270/-0)
doc/source/diagnostics/innodb_stats.rst.OTHER (+159/-0)
doc/source/diagnostics/misc_info_schema_tables.rst.OTHER (+133/-0)
doc/source/diagnostics/mysql_syslog.rst.OTHER (+43/-0)
doc/source/diagnostics/slow_extended.rst.OTHER (+401/-0)
doc/source/flexibility/buff_read_ahead_area.rst.OTHER (+36/-0)
doc/source/installation/apt_repo.rst.OTHER (+64/-0)
doc/source/management/innodb_expand_import.rst.OTHER (+155/-0)
doc/source/management/innodb_lru_dump_restore.rst.OTHER (+138/-0)
doc/source/reliability/innodb_corrupt_table_action.rst.OTHER (+27/-0)
doc/source/reliability/innodb_recovery_update_relay_log.rst.OTHER (+80/-0)
doc/source/scalability/innodb_expand_undo_slots.rst.OTHER (+44/-0)
doc/source/scalability/innodb_extra_rseg.rst.OTHER (+85/-0)
lp:~gl-az/percona-server/5.5-686534-881001
- Stewart Smith (community): Approve
-
Diff: 213 lines (+87/-43)2 files modifiedPercona-Server/storage/innobase/buf/buf0lru.c (+86/-42)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+1/-1)
Changed in percona-server: | |
importance: | Undecided → Low |
To post a comment you must log in.
marking as in progress due to merge req existing