List:Internals« Previous MessageNext Message »
From:Sasha Pachev Date:January 16 2001 7:52pm
Subject:Re: mysql replication synchonization problem
View as plain text  
On Tuesday 16 January 2001 07:20, Alexander Aulbach wrote:
>Hi, this is not a bug but an important issue for us. We have the problem
>that mysql replikation (a really great feature of mysql!) cannot work,
>when you want to replicate a running replacation. E.g.

First, for future reference, this discussion belongs to the internals list. 
bugs is only for repeatable bugs ( with a test case we can run).

>
>  Master      ->    Slave 1 (runs since December 2000)
>
>now we need
>              ->    Slave 2 (should be setup now)
>
>
>The problem is, that we must stop the replication completly on the master
>to load the tables from master. But during this time there could be some
>updates on the master. I will not completly declare, what happens (think
>you know it already). I think it's clear, that we have had some problems
>with it, to bring all members into synchronization again, mainly if
>during synchronization (LOAD TABLE FROM MASTER) the tables has to be
>updated. This is a case, which cannot be atomized.
>
>There should be an option, that a slave should keep an eye on his
>synchronizition by itself. If a slave isn't synchron any more it should
>load all tables again by itself and tracks all updates during this by
>itself.

The full solution for this will be in 4.0, when we will have the 
functionallity to take a consistent snapshot without holding a lock on the 
whole database the entire time. We may implement SLAVE SYNC in 3.23, but I do 
not see a clean and quick way of doing it without a read lock on the whole 
database on the master. We should probably just spend our time/efforts on 
getting 4.0 out and fixing it there.

>
>Another thing is, that we have a replication through a firewall:
>
>     Master   <--tcp-->  Firewall   <--tcp-->  Slave
>
>The firewall is configured, that it will loose the TCP-connection after 15
>minutes of no action on this connection. The firewall dosn't belong to us,
>so we cannot adjust it in another way. It would be a fine feature, if the
>slave could look every minute if the master is still there (and
>synchron?). Any traffic on the connection will reset the timer. It should
>be done by the slave itself, not via cron, cause to handle the problem,
>when the connection is closed nevertheless.

If the slave loses connection, it will try to reconnect. Does it not happen 
on your setup? If not, this is a bug that needs to be fixed.

-- 
MySQL Development Team
   __  ___     ___ ____  __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev <sasha@stripped>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
       <___/                  
Thread