4125 Mats Kindahl 2012-07-26 [merge]
Merging to mysql-trunk.
modified:
mysql-test/suite/perfschema/r/dml_setup_instruments.result
mysql-test/suite/perfschema/r/relaylog.result
sql/mysqld.cc
4124 Inaam Rana 2012-07-26
WL#6344 Make compression level and logging of compressed pages
configurable
rb://1111
approved by: Sunny Bains
(based on facebook contribution)
New Parameters:
===============
innodb_compression_level:
default 6 range 0 - 9. dynamic. specifies the compression
level used by zlib.
innodb_log_compressed pages:
default true (same as current behaviour): specifies whether or not we
need to store compressed index page images in the redo after we make
such a change that causes recompression.
This patch introduces two new redo log rec types:
+#define MLOG_ZIP_PAGE_COMPRESS_NO_DATA ((byte)52)/*!< compress an index page
+ without logging it's image */
+#define MLOG_ZIP_PAGE_REORGANIZE ((byte)53) /*!< reorganize a compressed
+ page */
added:
mysql-test/suite/innodb/r/innodb-wl6344-compress-level.result
mysql-test/suite/innodb/r/innodb-wl6344-log-compress-debug.result
mysql-test/suite/innodb/r/innodb_crash_recov_log_compressed_after_commit_0.result
mysql-test/suite/innodb/r/innodb_crash_recov_log_compressed_after_commit_1.result
mysql-test/suite/innodb/r/innodb_crash_recov_log_compressed_before_commit_0.result
mysql-test/suite/innodb/r/innodb_crash_recov_log_compressed_before_commit_1.result
mysql-test/suite/innodb/t/innodb-wl6344-compress-level.test
mysql-test/suite/innodb/t/innodb-wl6344-log-compress-debug.test
mysql-test/suite/innodb/t/innodb_crash_recov_log_compressed_after_commit_0.test
mysql-test/suite/innodb/t/innodb_crash_recov_log_compressed_after_commit_1.test
mysql-test/suite/innodb/t/innodb_crash_recov_log_compressed_before_commit_0.test
mysql-test/suite/innodb/t/innodb_crash_recov_log_compressed_before_commit_1.test
mysql-test/suite/sys_vars/r/innodb_compression_level_basic.result
mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result
mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
modified:
storage/innobase/btr/btr0btr.cc
storage/innobase/btr/btr0cur.cc
storage/innobase/handler/ha_innodb.cc
storage/innobase/include/btr0btr.h
storage/innobase/include/mtr0mtr.h
storage/innobase/include/page0zip.h
storage/innobase/include/page0zip.ic
storage/innobase/log/log0recv.cc
storage/innobase/page/page0cur.cc
storage/innobase/page/page0page.cc
storage/innobase/page/page0zip.cc
=== modified file 'mysql-test/suite/perfschema/r/dml_setup_instruments.result'
--- a/mysql-test/suite/perfschema/r/dml_setup_instruments.result 2012-07-17 07:52:54 +0000
+++ b/mysql-test/suite/perfschema/r/dml_setup_instruments.result 2012-07-26 10:56:48 +0000
@@ -4,16 +4,16 @@ where name like 'Wait/Synch/Mutex/sql/%'
and name not in ('wait/synch/mutex/sql/DEBUG_SYNC::mutex')
order by name limit 10;
NAME ENABLED TIMED
-wait/synch/mutex/sql/BINARY_LOG::LOCK_commit YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_commit_queue YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_done YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_flush_queue YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_index YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_log YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_sync YES YES
-wait/synch/mutex/sql/BINARY_LOG::LOCK_sync_queue YES YES
wait/synch/mutex/sql/Cversion_lock YES YES
wait/synch/mutex/sql/Delayed_insert::mutex YES YES
+wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state YES YES
+wait/synch/mutex/sql/Gtid_state YES YES
+wait/synch/mutex/sql/hash_filo::lock YES YES
+wait/synch/mutex/sql/LOCK_active_mi YES YES
+wait/synch/mutex/sql/LOCK_audit_mask YES YES
+wait/synch/mutex/sql/LOCK_connection_count YES YES
+wait/synch/mutex/sql/LOCK_crypt YES YES
+wait/synch/mutex/sql/LOCK_delayed_create YES YES
select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Rwlock/sql/%'
and name not in ('wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock')
@@ -36,8 +36,6 @@ where name like 'Wait/Synch/Cond/sql/%'
'wait/synch/cond/sql/DEBUG_SYNC::cond')
order by name limit 10;
NAME ENABLED TIMED
-wait/synch/cond/sql/BINARY_LOG::COND_done YES YES
-wait/synch/cond/sql/BINARY_LOG::update_cond YES YES
wait/synch/cond/sql/COND_flush_thread_cache YES YES
wait/synch/cond/sql/COND_manager YES YES
wait/synch/cond/sql/COND_queue_state YES YES
@@ -46,6 +44,8 @@ wait/synch/cond/sql/COND_thread_cache YE
wait/synch/cond/sql/COND_thread_count YES YES
wait/synch/cond/sql/Delayed_insert::cond YES YES
wait/synch/cond/sql/Delayed_insert::cond_client YES YES
+wait/synch/cond/sql/Event_scheduler::COND_state YES YES
+wait/synch/cond/sql/Gtid_state YES YES
select * from performance_schema.setup_instruments
where name='Wait';
select * from performance_schema.setup_instruments
=== modified file 'mysql-test/suite/perfschema/r/relaylog.result'
--- a/mysql-test/suite/perfschema/r/relaylog.result 2012-05-23 16:16:31 +0000
+++ b/mysql-test/suite/perfschema/r/relaylog.result 2012-07-25 10:16:31 +0000
@@ -59,6 +59,15 @@ where event_name like "%MYSQL_BIN_LOG%"
and event_name not like "%MYSQL_BIN_LOG::update_cond"
order by event_name;
EVENT_NAME COUNT_STAR
+wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit_queue MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_done MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_flush_queue MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_sync MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_sync_queue MANY
"Expect no slave relay log"
select * from performance_schema.file_summary_by_instance
where event_name like "%relaylog%" order by file_name;
@@ -73,6 +82,15 @@ where event_name like "%MYSQL_RELAY_LOG%
and event_name not like "%MYSQL_RELAY_LOG::update_cond"
order by event_name;
EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_done 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_commit 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_commit_queue 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_done 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_flush_queue 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_log 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_sync 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_sync_queue 0 0 0 0 0
"============ Performance schema on slave ============"
select * from performance_schema.file_summary_by_instance
where file_name like "%master-%" order by file_name;
@@ -129,6 +147,15 @@ where event_name like "%MYSQL_BIN_LOG%"
and event_name not like "%MYSQL_BIN_LOG::update_cond"
order by event_name;
EVENT_NAME COUNT_STAR
+wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit_queue MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_done MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_flush_queue MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_sync MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_sync_queue MANY
"Expect a slave relay log"
select
substring(file_name, locate("slave-", file_name)) as FILE_NAME,
@@ -165,4 +192,13 @@ where event_name like "%MYSQL_RELAY_LOG%
and event_name not like "%MYSQL_RELAY_LOG::update_cond"
order by event_name;
EVENT_NAME COUNT_STAR
+wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_done NONE
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_commit NONE
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_commit_queue NONE
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_done NONE
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_flush_queue NONE
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index MANY
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_log MANY
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_sync MANY
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_sync_queue NONE
include/rpl_end.inc
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2012-07-17 11:32:03 +0000
+++ b/sql/mysqld.cc 2012-07-26 10:56:48 +0000
@@ -9014,22 +9014,22 @@ static PSI_mutex_info all_server_mutexes
{ &key_LOCK_des_key_file, "LOCK_des_key_file", PSI_FLAG_GLOBAL},
#endif /* HAVE_OPENSSL */
- { &key_BINLOG_LOCK_commit, "BINARY_LOG::LOCK_commit", 0 },
- { &key_BINLOG_LOCK_commit_queue, "BINARY_LOG::LOCK_commit_queue", 0 },
- { &key_BINLOG_LOCK_done, "BINARY_LOG::LOCK_done", 0 },
- { &key_BINLOG_LOCK_flush_queue, "BINARY_LOG::LOCK_flush_queue", 0 },
- { &key_BINLOG_LOCK_index, "BINARY_LOG::LOCK_index", 0},
- { &key_BINLOG_LOCK_log, "BINARY_LOG::LOCK_log", 0},
- { &key_BINLOG_LOCK_sync, "BINARY_LOG::LOCK_sync", 0},
- { &key_BINLOG_LOCK_sync_queue, "BINARY_LOG::LOCK_sync_queue", 0 },
- { &key_RELAYLOG_LOCK_commit, "RELAY_LOG::LOCK_commit", 0},
- { &key_RELAYLOG_LOCK_commit_queue, "RELAY_LOG::LOCK_commit_queue", 0 },
- { &key_RELAYLOG_LOCK_done, "RELAY_LOG::LOCK_done", 0 },
- { &key_RELAYLOG_LOCK_flush_queue, "RELAY_LOG::LOCK_flush_queue", 0 },
- { &key_RELAYLOG_LOCK_index, "RELAY_LOG::LOCK_index", 0},
- { &key_RELAYLOG_LOCK_log, "RELAY_LOG::LOCK_log", 0},
- { &key_RELAYLOG_LOCK_sync, "RELAY_LOG::LOCK_sync", 0},
- { &key_RELAYLOG_LOCK_sync_queue, "RELAY_LOG::LOCK_sync_queue", 0 },
+ { &key_BINLOG_LOCK_commit, "MYSQL_BIN_LOG::LOCK_commit", 0 },
+ { &key_BINLOG_LOCK_commit_queue, "MYSQL_BIN_LOG::LOCK_commit_queue", 0 },
+ { &key_BINLOG_LOCK_done, "MYSQL_BIN_LOG::LOCK_done", 0 },
+ { &key_BINLOG_LOCK_flush_queue, "MYSQL_BIN_LOG::LOCK_flush_queue", 0 },
+ { &key_BINLOG_LOCK_index, "MYSQL_BIN_LOG::LOCK_index", 0},
+ { &key_BINLOG_LOCK_log, "MYSQL_BIN_LOG::LOCK_log", 0},
+ { &key_BINLOG_LOCK_sync, "MYSQL_BIN_LOG::LOCK_sync", 0},
+ { &key_BINLOG_LOCK_sync_queue, "MYSQL_BIN_LOG::LOCK_sync_queue", 0 },
+ { &key_RELAYLOG_LOCK_commit, "MYSQL_RELAY_LOG::LOCK_commit", 0},
+ { &key_RELAYLOG_LOCK_commit_queue, "MYSQL_RELAY_LOG::LOCK_commit_queue", 0 },
+ { &key_RELAYLOG_LOCK_done, "MYSQL_RELAY_LOG::LOCK_done", 0 },
+ { &key_RELAYLOG_LOCK_flush_queue, "MYSQL_RELAY_LOG::LOCK_flush_queue", 0 },
+ { &key_RELAYLOG_LOCK_index, "MYSQL_RELAY_LOG::LOCK_index", 0},
+ { &key_RELAYLOG_LOCK_log, "MYSQL_RELAY_LOG::LOCK_log", 0},
+ { &key_RELAYLOG_LOCK_sync, "MYSQL_RELAY_LOG::LOCK_sync", 0},
+ { &key_RELAYLOG_LOCK_sync_queue, "MYSQL_RELAY_LOG::LOCK_sync_queue", 0 },
{ &key_delayed_insert_mutex, "Delayed_insert::mutex", 0},
{ &key_hash_filo_lock, "hash_filo::lock", 0},
{ &key_LOCK_active_mi, "LOCK_active_mi", PSI_FLAG_GLOBAL},
@@ -9123,10 +9123,10 @@ static PSI_cond_info all_server_conds[]=
{ &key_COND_active, "TC_LOG_MMAP::COND_active", 0},
{ &key_COND_pool, "TC_LOG_MMAP::COND_pool", 0},
#endif /* HAVE_MMAP */
- { &key_BINLOG_COND_done, "BINARY_LOG::COND_done", 0},
- { &key_BINLOG_update_cond, "BINARY_LOG::update_cond", 0},
- { &key_RELAYLOG_COND_done, "RELAY_LOG::COND_done", 0},
- { &key_RELAYLOG_update_cond, "RELAY_LOG::update_cond", 0},
+ { &key_BINLOG_COND_done, "MYSQL_BIN_LOG::COND_done", 0},
+ { &key_BINLOG_update_cond, "MYSQL_BIN_LOG::update_cond", 0},
+ { &key_RELAYLOG_COND_done, "MYSQL_RELAY_LOG::COND_done", 0},
+ { &key_RELAYLOG_update_cond, "MYSQL_RELAY_LOG::update_cond", 0},
{ &key_COND_cache_status_changed, "Query_cache::COND_cache_status_changed", 0},
{ &key_COND_manager, "COND_manager", PSI_FLAG_GLOBAL},
{ &key_COND_server_started, "COND_server_started", PSI_FLAG_GLOBAL},
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (mats.kindahl:4124 to 4125) | Mats Kindahl | 27 Jul |