diff options
author | guilhem@mysql.com <> | 2003-03-17 22:51:56 +0100 |
---|---|---|
committer | guilhem@mysql.com <> | 2003-03-17 22:51:56 +0100 |
commit | 87e1c552ed7e1e4c1ce65c0c7ba18291f1b3915f (patch) | |
tree | 5d9a0eaa1fe759e9fccf20738544fe2eab9bbbe8 /sql/sql_repl.cc | |
parent | 7761805ecb0055933ce4141f83f8315f9879cf5a (diff) | |
download | mariadb-git-87e1c552ed7e1e4c1ce65c0c7ba18291f1b3915f.tar.gz |
New variable rli->ignore_log_space_limit to resolve
a deadlock between I/O and SQL threads in replication
when relay_log_space is too small. This fixes bug #79.
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r-- | sql/sql_repl.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index 5e90bbf1b0f..d670c673b4a 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -858,22 +858,21 @@ int change_master(THD* thd, MASTER_INFO* mi) if (lex_mi->relay_log_name) { - need_relay_log_purge = 0; - mi->rli.skip_log_purge=1; + need_relay_log_purge= 0; strmake(mi->rli.relay_log_name,lex_mi->relay_log_name, sizeof(mi->rli.relay_log_name)-1); } if (lex_mi->relay_log_pos) { - need_relay_log_purge=0; + need_relay_log_purge= 0; mi->rli.relay_log_pos=lex_mi->relay_log_pos; } flush_master_info(mi); if (need_relay_log_purge) { - mi->rli.skip_log_purge=0; + mi->rli.skip_log_purge= 0; thd->proc_info="purging old relay logs"; if (purge_relay_logs(&mi->rli, thd, 0 /* not only reset, but also reinit */, @@ -887,6 +886,7 @@ int change_master(THD* thd, MASTER_INFO* mi) else { const char* msg; + mi->rli.skip_log_purge= 1; /* Relay log is already initialized */ if (init_relay_log_pos(&mi->rli, mi->rli.relay_log_name, |