mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Bug #48463 backporting from 6.0-rpl to celosia a set of bugs
The mentioned on the bug report set of bugs fixes have not be pushed to the main trees. Fixed with extracting commits done to 6.0-rpl tree and applying them to the main 5.1. Notes. 1. part of changes - the mtr's specific - were packported to the main 5.0 tree for mtr v1 as http://lists.mysql.com/commits/46562 However, there is no that fix anymore in the mtr v2. (This fact was mailed to mtr maintaining people). 2. Bug@36929 crash in kill_zombie_dump_threads-> THD::awake() with replication tests is not backported because the base code of the patch is libevent and that was removed from the main trees due to its instability. client/mysqlbinlog.cc: fixes for BUG#35546 mysql-test/suite/rpl/r/rpl_bug41902.result: the new tests result file is added. mysql-test/suite/rpl/t/rpl_bug41902-slave.opt: conf file for bug41902 testing is added. mysql-test/suite/rpl/t/rpl_bug41902.test: regression tests for Bug #41902 is added. sql/log.cc: collection of changes due to Bug #48463. sql/log.h: collection of changes due to Bug #48463. sql/rpl_rli.h: collection of changes due to Bug #48463. sql/slave.cc: collection of changes due to Bug #48463. sql/sql_repl.cc: collection of changes due to Bug #48463.
This commit is contained in:
@ -259,24 +259,11 @@ bool log_in_use(const char* log_name)
|
||||
|
||||
bool purge_error_message(THD* thd, int res)
|
||||
{
|
||||
uint errmsg= 0;
|
||||
uint errcode;
|
||||
|
||||
switch (res) {
|
||||
case 0: break;
|
||||
case LOG_INFO_EOF: errmsg= ER_UNKNOWN_TARGET_BINLOG; break;
|
||||
case LOG_INFO_IO: errmsg= ER_IO_ERR_LOG_INDEX_READ; break;
|
||||
case LOG_INFO_INVALID:errmsg= ER_BINLOG_PURGE_PROHIBITED; break;
|
||||
case LOG_INFO_SEEK: errmsg= ER_FSEEK_FAIL; break;
|
||||
case LOG_INFO_MEM: errmsg= ER_OUT_OF_RESOURCES; break;
|
||||
case LOG_INFO_FATAL: errmsg= ER_BINLOG_PURGE_FATAL_ERR; break;
|
||||
case LOG_INFO_IN_USE: errmsg= ER_LOG_IN_USE; break;
|
||||
case LOG_INFO_EMFILE: errmsg= ER_BINLOG_PURGE_EMFILE; break;
|
||||
default: errmsg= ER_LOG_PURGE_UNKNOWN_ERR; break;
|
||||
}
|
||||
|
||||
if (errmsg)
|
||||
if ((errcode= purge_log_get_error_code(res)) != 0)
|
||||
{
|
||||
my_message(errmsg, ER(errmsg), MYF(0));
|
||||
my_message(errcode, ER(errcode), MYF(0));
|
||||
return TRUE;
|
||||
}
|
||||
my_ok(thd);
|
||||
@ -861,9 +848,7 @@ impossible position";
|
||||
}
|
||||
else
|
||||
{
|
||||
DBUG_ASSERT(ret == 0 && signal_cnt != mysql_bin_log.signal_cnt ||
|
||||
thd->killed);
|
||||
DBUG_PRINT("wait",("binary log received update"));
|
||||
DBUG_PRINT("wait",("binary log received update or a broadcast signal caught"));
|
||||
}
|
||||
} while (signal_cnt == mysql_bin_log.signal_cnt && !thd->killed);
|
||||
pthread_mutex_unlock(log_lock);
|
||||
|
Reference in New Issue
Block a user