List:Commits« Previous MessageNext Message »
From:Nuno Carvalho Date:September 18 2012 12:43pm
Subject:bzr push into mysql-5.6 branch (nuno.carvalho:4289 to 4290) Bug#14640486
View as plain text  
 4290 Nuno Carvalho	2012-09-18
      BUG#14640486: MISSING INITIALIZATION OF MYSQL_BIN_LOG::M_PREP_XIDS_COND
      
      MYSQL_BIN_LOG::m_prep_xids_cond is not initialized on MYSQL_BIN_LOG 
      object creation and not destroyed on MYSQL_BIN_LOG destructor.
      
      Added missing initialization and destruction, also created a new 
      perfschema key for this condition variable.
      
      @ mysql-test/suite/perfschema/r/relaylog.result
         Update result file with new key.
      @ sql/binlog.cc
         Added m_prep_xids_cond initialization and destruction.
      @ sql/binlog.h
         Added perfschema key and update MYSQL_BIN_LOG constructor.
      @ sql/mysqld.cc
         Added perfschema keys for BINLOG and RELAYLOG.
      @ sql/mysqld.h
         Added perfschema keys for BINLOG and RELAYLOG.
      @ sql/rpl_rli.cc
         Updated Rpl_info constructor.

    modified:
      mysql-test/suite/perfschema/r/relaylog.result
      sql/binlog.cc
      sql/binlog.h
      sql/mysqld.cc
      sql/mysqld.h
      sql/rpl_rli.cc
 4289 Tor Didriksen	2012-09-18
      Bug#12762891 SSL.CMAKE FILE IS BROKEN WHEN USING CUSTOM OPENSSL BUILD
      Bug#14603714 CRASH OBSERVED IN SQL_ACL.CC WHILE FREE FREEING UP THE MEMORY
      
      Extra patch for windows:
      Assume that WITH_SSL_PATH=x:/some/path points to static libraries.

    modified:
      CMakeLists.txt
      cmake/create_initial_db.cmake.in
      cmake/ssl.cmake
      extra/CMakeLists.txt
=== modified file 'mysql-test/suite/perfschema/r/relaylog.result'
--- a/mysql-test/suite/perfschema/r/relaylog.result	revid:tor.didriksen@stripped
+++ b/mysql-test/suite/perfschema/r/relaylog.result	revid:nuno.carvalho@stripped
@@ -60,6 +60,7 @@ where event_name like "%MYSQL_BIN_LOG%"
   order by event_name;
 EVENT_NAME	COUNT_STAR
 wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done	NONE
+wait/synch/cond/sql/MYSQL_BIN_LOG::prep_xids_cond	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
@@ -83,6 +84,7 @@ where event_name like "%MYSQL_RELAY_LOG%
   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/cond/sql/MYSQL_RELAY_LOG::prep_xids_cond	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
@@ -148,6 +150,7 @@ where event_name like "%MYSQL_BIN_LOG%"
   order by event_name;
 EVENT_NAME	COUNT_STAR
 wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done	NONE
+wait/synch/cond/sql/MYSQL_BIN_LOG::prep_xids_cond	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
@@ -193,6 +196,7 @@ where event_name like "%MYSQL_RELAY_LOG%
   order by event_name;
 EVENT_NAME	COUNT_STAR
 wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_done	NONE
+wait/synch/cond/sql/MYSQL_RELAY_LOG::prep_xids_cond	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

=== modified file 'sql/binlog.cc'
--- a/sql/binlog.cc	revid:tor.didriksen@stripped
+++ b/sql/binlog.cc	revid:nuno.carvalho@stripped
@@ -2273,6 +2273,7 @@ void MYSQL_BIN_LOG::cleanup()
     mysql_mutex_destroy(&LOCK_sync);
     mysql_cond_destroy(&update_cond);
     my_atomic_rwlock_destroy(&m_prep_xids_lock);
+    mysql_cond_destroy(&m_prep_xids_cond);
   }
   DBUG_VOID_RETURN;
 }
@@ -2286,6 +2287,7 @@ void MYSQL_BIN_LOG::init_pthread_objects
   mysql_mutex_init(m_key_LOCK_sync, &LOCK_sync, MY_MUTEX_INIT_FAST);
   mysql_cond_init(m_key_update_cond, &update_cond, 0);
   my_atomic_rwlock_init(&m_prep_xids_lock);
+  mysql_cond_init(m_key_prep_xids_cond, &m_prep_xids_cond, NULL);
   stage_manager.init(
 #ifdef HAVE_PSI_INTERFACE
                    m_key_LOCK_flush_queue,

=== modified file 'sql/binlog.h'
--- a/sql/binlog.h	revid:tor.didriksen@stripped
+++ b/sql/binlog.h	revid:nuno.carvalho@stripped
@@ -228,6 +228,8 @@ class MYSQL_BIN_LOG: public TC_LOG, priv
   PSI_mutex_key m_key_LOCK_sync;
   /** The instrumentation key to use for @ update_cond. */
   PSI_cond_key m_key_update_cond;
+  /** The instrumentation key to use for @ prep_xids_cond. */
+  PSI_cond_key m_key_prep_xids_cond;
   /** The instrumentation key to use for opening the log file. */
   PSI_file_key m_key_file_log;
   /** The instrumentation key to use for opening the log index file. */
@@ -402,6 +404,7 @@ public:
                     PSI_mutex_key key_LOCK_sync_queue,
                     PSI_cond_key key_COND_done,
                     PSI_cond_key key_update_cond,
+                    PSI_cond_key key_prep_xids_cond,
                     PSI_file_key key_file_log,
                     PSI_file_key key_file_log_index)
   {
@@ -417,6 +420,7 @@ public:
     m_key_LOCK_commit= key_LOCK_commit;
     m_key_LOCK_sync= key_LOCK_sync;
     m_key_update_cond= key_update_cond;
+    m_key_prep_xids_cond= key_prep_xids_cond;
     m_key_file_log= key_file_log;
     m_key_file_log_index= key_file_log_index;
   }

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	revid:tor.didriksen@stripped
+++ b/sql/mysqld.cc	revid:nuno.carvalho@stripped
@@ -3621,6 +3621,7 @@ int init_common_variables()
                              key_BINLOG_LOCK_sync_queue,
                              key_BINLOG_COND_done,
                              key_BINLOG_update_cond,
+                             key_BINLOG_prep_xids_cond,
                              key_file_binlog,
                              key_file_binlog_index);
 #endif
@@ -9154,6 +9155,8 @@ PSI_cond_key key_BINLOG_update_cond,
 PSI_cond_key key_RELAYLOG_update_cond;
 PSI_cond_key key_BINLOG_COND_done;
 PSI_cond_key key_RELAYLOG_COND_done;
+PSI_cond_key key_BINLOG_prep_xids_cond;
+PSI_cond_key key_RELAYLOG_prep_xids_cond;
 PSI_cond_key key_gtid_ensure_index_cond;
 
 static PSI_cond_info all_server_conds[]=
@@ -9168,8 +9171,10 @@ static PSI_cond_info all_server_conds[]=
 #endif /* HAVE_MMAP */
   { &key_BINLOG_COND_done, "MYSQL_BIN_LOG::COND_done", 0},
   { &key_BINLOG_update_cond, "MYSQL_BIN_LOG::update_cond", 0},
+  { &key_BINLOG_prep_xids_cond, "MYSQL_BIN_LOG::prep_xids_cond", 0},
   { &key_RELAYLOG_COND_done, "MYSQL_RELAY_LOG::COND_done", 0},
   { &key_RELAYLOG_update_cond, "MYSQL_RELAY_LOG::update_cond", 0},
+  { &key_RELAYLOG_prep_xids_cond, "MYSQL_RELAY_LOG::prep_xids_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},

=== modified file 'sql/mysqld.h'
--- a/sql/mysqld.h	revid:tor.didriksen@stripped
+++ b/sql/mysqld.h	revid:nuno.carvalho@stripped
@@ -361,6 +361,8 @@ extern PSI_cond_key key_BINLOG_update_co
 extern PSI_cond_key key_BINLOG_COND_done;
 extern PSI_cond_key key_RELAYLOG_COND_done;
 extern PSI_cond_key key_RELAYLOG_update_cond;
+extern PSI_cond_key key_BINLOG_prep_xids_cond;
+extern PSI_cond_key key_RELAYLOG_prep_xids_cond;
 extern PSI_cond_key key_gtid_ensure_index_cond;
 
 extern PSI_thread_key key_thread_bootstrap, key_thread_delayed_insert,

=== modified file 'sql/rpl_rli.cc'
--- a/sql/rpl_rli.cc	revid:tor.didriksen@stripped
+++ b/sql/rpl_rli.cc	revid:nuno.carvalho@stripped
@@ -113,6 +113,7 @@ Relay_log_info::Relay_log_info(bool is_s
                          key_RELAYLOG_LOCK_done,
                          key_RELAYLOG_COND_done,
                          key_RELAYLOG_update_cond,
+                         key_RELAYLOG_prep_xids_cond,
                          key_file_relaylog,
                          key_file_relaylog_index);
 #endif

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6 branch (nuno.carvalho:4289 to 4290) Bug#14640486Nuno Carvalho19 Sep