MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Luis Soares Date:July 23 2010 4:32pm
Subject:bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263
View as plain text  
#At file:///home/lsoares/Workspace/bzr/work/bugfixing/55263/mysql-5.1-bugteam/ based on revid:ramil@stripped

 3489 Luis Soares	2010-07-23
      BUG#55263: assert in check_binlog_magic
      
      The procedure for setting up a fake binary log, by changing the
      relay log files manually, is run twice when we issue mtr with
      --repeat=2. However, when setting it up for the second time,
      neither the sql thread is reset nor the server is restarted. This
      means that previous stale relay log IO_CACHE - from first run -
      is left around. As a consequence, when the test is run for the
      second time, the IO_CACHE for the relay log has position in file
      different than zero, triggering the assertion.
            
      We fix this by changing the call to my_b_seek at the very
      beginning of init_master_info. Instead of doing a seek on the
      cur_log we now do a seek on the currently active relay log. This
      makes sure that even if the SQL thread had read the log while it
      was hot in the past, the position will be set to 0 if it
      continues hot when the SQL thread is restarted and switches back
      to it. If, on the other hand, the log became cold while the SQL
      was stopped and restarted, then when the thread switches back to it
      the log will have to be reopened, thus the position will start
      from the 0, meaning that there is no need to do a seek.

    modified:
      sql/rpl_mi.cc
=== modified file 'sql/rpl_mi.cc'
--- a/sql/rpl_mi.cc	2010-05-24 16:43:27 +0000
+++ b/sql/rpl_mi.cc	2010-07-23 16:32:55 +0000
@@ -123,7 +123,9 @@ int init_master_info(Master_info* mi, co
     */
     if (thread_mask & SLAVE_SQL)
     {
-      my_b_seek(mi->rli.cur_log, (my_off_t) 0);
+      pthread_mutex_lock(mi->rli.relay_log.get_log_lock());
+      my_b_seek(mi->rli.relay_log.get_log_file(), (my_off_t) 0);
+      pthread_mutex_unlock(mi->rli.relay_log.get_log_lock());
     }
     DBUG_RETURN(0);
   }


Attachment: [text/bzr-bundle] bzr/luis.soares@sun.com-20100723163255-yfgl99djwk3z5mi9.bundle
Thread
bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263Luis Soares23 Jul
  • Re: bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263Alfranio Correia21 Sep
    • Re: bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263Luís Soares22 Sep
      • Re: bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263Alfranio Correia22 Sep
        • Re: bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263Luís Soares24 Sep
          • Re: bzr commit into mysql-5.1-bugteam branch (luis.soares:3489) Bug#55263Alfranio Correia24 Sep