MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:October 26 2010 6:40am
Subject:bzr commit into mysql-next-mr-bugfixing branch (zhenxing.he:3328) Bug#47027
View as plain text  
#At file:///media/sdb2/hezx/work/mysql/bzr/b47027/next-mr-bugfixing/ based on revid:anitha.gopi@stripped

 3328 He Zhenxing	2010-10-26
      BUG#47027 delegates_init() failure is not user friendly (usability issue)
      
      Function delegetas_init() did not report proper error messages
      when there are failures, which made it hard to know where the problem
      occurred.
      
      Fixed the problem by adding specific error message for every possible
      place that can fail. And since these failures are supposed to never
      happen, ask the user to report a bug if they happened.

    modified:
      sql/mysqld.cc
      sql/rpl_handler.cc
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2010-10-13 23:16:09 +0000
+++ b/sql/mysqld.cc	2010-10-26 06:40:53 +0000
@@ -3947,12 +3947,12 @@ static int init_server_components()
     unireg_abort(1);
   }
 
-  /* initialize delegates for extension observers */
+  /*
+    initialize delegates for extension observers, errors have already
+    been reported in the function
+  */
   if (delegates_init())
-  {
-    sql_print_error("Initialize extension delegates failed");
     unireg_abort(1);
-  }
 
   /* need to configure logging before initializing storage engines */
   if (opt_log_slave_updates && !opt_bin_log)

=== modified file 'sql/rpl_handler.cc'
--- a/sql/rpl_handler.cc	2010-07-16 21:00:50 +0000
+++ b/sql/rpl_handler.cc	2010-10-26 06:40:53 +0000
@@ -104,12 +104,20 @@ int delegates_init()
   transaction_delegate= new (place_trans_mem) Trans_delegate;
 
   if (!transaction_delegate->is_inited())
+  {
+    sql_print_error("Initialization of transaction delegates failed. "
+                    "Please report a bug.");
     return 1;
+  }
 
   binlog_storage_delegate= new (place_storage_mem) Binlog_storage_delegate;
 
   if (!binlog_storage_delegate->is_inited())
+  {
+    sql_print_error("Initialization binlog storage delegates failed. "
+                    "Please report a bug.");
     return 1;
+  }
 
 #ifdef HAVE_REPLICATION
   void *place_transmit_mem= transmit_mem.data;
@@ -118,16 +126,29 @@ int delegates_init()
   binlog_transmit_delegate= new (place_transmit_mem) Binlog_transmit_delegate;
 
   if (!binlog_transmit_delegate->is_inited())
+  {
+    sql_print_error("Initialization of binlog transmit delegates failed. "
+                    "Please report a bug.");
     return 1;
+  }
 
   binlog_relay_io_delegate= new (place_relay_io_mem) Binlog_relay_IO_delegate;
 
   if (!binlog_relay_io_delegate->is_inited())
+  {
+    sql_print_error("Initialization binlog relay IO delegates failed. "
+                    "Please report a bug.");
     return 1;
+  }
 #endif
 
   if (pthread_key_create(&RPL_TRANS_BINLOG_INFO, NULL))
+  {
+    sql_print_error("Error while creating pthread specific data key for replication. "
+                    "Please report a bug.");
     return 1;
+  }
+
   return 0;
 }
 


Attachment: [text/bzr-bundle] bzr/zhenxing.he@sun.com-20101026064053-4dmdkhu1qtx2xgrl.bundle
Thread
bzr commit into mysql-next-mr-bugfixing branch (zhenxing.he:3328) Bug#47027He Zhenxing26 Oct