From 077c85885894272ef7c24bfdcab6a9f470f2f34b Mon Sep 17 00:00:00 2001 From: He Zhenxing Date: Sun, 18 Oct 2009 20:29:03 +0800 Subject: Postfix of bug#45674 rpl_semi_sync_master_wait_sessions was reset by FLUSH STATUS, which could cause the master fail to wake up waiting sessions and result in master timeout waiting for slave reply. rpl_semi_sync_master_wait_session should not be reset, this problem is fixed by this patch. plugin/semisync/semisync_master_plugin.cc: Change wait_sessions from SHOW_LONG back to SHOW_FUNC so that it will not be reset by FLUSH STATUS. --- plugin/semisync/semisync_master_plugin.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'plugin/semisync') diff --git a/plugin/semisync/semisync_master_plugin.cc b/plugin/semisync/semisync_master_plugin.cc index d2ef500d932..efcb7172b28 100644 --- a/plugin/semisync/semisync_master_plugin.cc +++ b/plugin/semisync/semisync_master_plugin.cc @@ -278,6 +278,7 @@ Binlog_transmit_observer transmit_observer = { DEF_SHOW_FUNC(status, SHOW_BOOL) DEF_SHOW_FUNC(clients, SHOW_LONG) +DEF_SHOW_FUNC(wait_sessions, SHOW_LONG) DEF_SHOW_FUNC(trx_wait_time, SHOW_LONGLONG) DEF_SHOW_FUNC(trx_wait_num, SHOW_LONGLONG) DEF_SHOW_FUNC(net_wait_time, SHOW_LONGLONG) @@ -301,8 +302,8 @@ static SHOW_VAR semi_sync_master_status_vars[]= { (char*) &rpl_semi_sync_master_no_transactions, SHOW_LONG}, {"Rpl_semi_sync_master_wait_sessions", - (char*) &rpl_semi_sync_master_wait_sessions, - SHOW_LONG}, + (char*) &SHOW_FNAME(wait_sessions), + SHOW_FUNC}, {"Rpl_semi_sync_master_no_times", (char*) &rpl_semi_sync_master_off_times, SHOW_LONG}, -- cgit v1.2.1