summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorunknown <aelkin/elkin@koti.dsl.inet.fi>2007-10-13 16:51:16 +0300
committerunknown <aelkin/elkin@koti.dsl.inet.fi>2007-10-13 16:51:16 +0300
commit1408095a117b3ebd7dab604a9f0d67a476f48aa4 (patch)
tree74c4e2294c47be50cfaef8a70605cea1500c971d /sql/slave.cc
parentb3b01cf48b6ab3139ee782ac91cf804a3efb7f2a (diff)
parentc8b6d1050933f0b9b18367c421702c9f16907de5 (diff)
downloadmariadb-git-1408095a117b3ebd7dab604a9f0d67a476f48aa4.tar.gz
Merge koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug29136-mdelete
into koti.dsl.inet.fi:/home/elkin/MySQL/merge-5.1 mysql-test/t/multi_update.test: Auto merged sql/slave.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_update.cc: Auto merged mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: manual merge use local; another file has to be changed in 5_1. mysql-test/r/innodb.result: manual merge use local to re-record the results mysql-test/r/multi_update.result: manual merge use local to re-record the results mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result: manual merge use local to re-record the results mysql-test/t/innodb.test: restoring bug#27716 snippet sql/log_event.cc: trasfering simulation to another file: rpl_rli.cc
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index fcbd4eb841b..9780ae70c5b 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -3581,7 +3581,16 @@ static Log_event* next_event(Relay_log_info* rli)
a new event and is queuing it; the false "0" will exist until SQL
finishes executing the new event; it will be look abnormal only if
the events have old timestamps (then you get "many", 0, "many").
- Transient phases like this can't really be fixed.
+
+ Transient phases like this can be fixed with implemeting
+ Heartbeat event which provides the slave the status of the
+ master at time the master does not have any new update to send.
+ Seconds_Behind_Master would be zero only when master has no
+ more updates in binlog for slave. The heartbeat can be sent
+ in a (small) fraction of slave_net_timeout. Until it's done
+ rli->last_master_timestamp is temporarely (for time of
+ waiting for the following event) reset whenever EOF is
+ reached.
*/
time_t save_timestamp= rli->last_master_timestamp;
rli->last_master_timestamp= 0;