From 24f4739846f46cee986925c11d81d068d38be326 Mon Sep 17 00:00:00 2001 From: "ramil/ram@mysql.com/myoffice.izhnet.ru" <> Date: Mon, 18 Dec 2006 17:38:59 +0400 Subject: [PATCH] Fix for bug #10798: If relay log fails to rotate, slave will crash after The relay log may not be open for some reason (e.g. disk error) after rotation, and using it causes the slave crash. Fix: check we have it open before access, return error otherwise. --- sql/slave.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sql/slave.cc b/sql/slave.cc index 6785e92b9f9..9c8d4d86c60 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -4284,6 +4284,13 @@ Log_event* next_event(RELAY_LOG_INFO* rli) hot_log=0; // Using old binary log } } + /* + As there is no guarantee that the relay is open (for example, an I/O + error during a write by the slave I/O thread may have closed it), we + have to test it. + */ + if (!my_b_inited(cur_log)) + goto err; #ifndef DBUG_OFF { char llbuf1[22], llbuf2[22];