mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
auto-merge
This commit is contained in:
@@ -12,4 +12,4 @@
|
|||||||
|
|
||||||
rpl_redirect : Failure is sporadic and and the test is superfluous (mats)
|
rpl_redirect : Failure is sporadic and and the test is superfluous (mats)
|
||||||
rpl_innodb_bug28430 : Failure on Solaris Bug #36793
|
rpl_innodb_bug28430 : Failure on Solaris Bug #36793
|
||||||
|
rpl_temporary : BUG#38269 2008-07-21 Sven valgrind error in pushbuild
|
||||||
|
136
sql/log.cc
136
sql/log.cc
@@ -3070,6 +3070,7 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
bool exit_loop= 0;
|
bool exit_loop= 0;
|
||||||
LOG_INFO log_info;
|
LOG_INFO log_info;
|
||||||
|
THD *thd= current_thd;
|
||||||
DBUG_ENTER("purge_logs");
|
DBUG_ENTER("purge_logs");
|
||||||
DBUG_PRINT("info",("to_log= %s",to_log));
|
DBUG_PRINT("info",("to_log= %s",to_log));
|
||||||
|
|
||||||
@@ -3096,9 +3097,12 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
|||||||
It's not fatal if we can't stat a log file that does not exist;
|
It's not fatal if we can't stat a log file that does not exist;
|
||||||
If we could not stat, we won't delete.
|
If we could not stat, we won't delete.
|
||||||
*/
|
*/
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
if (thd)
|
||||||
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
{
|
||||||
log_info.log_file_name);
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
sql_print_information("Failed to execute my_stat on file '%s'",
|
sql_print_information("Failed to execute my_stat on file '%s'",
|
||||||
log_info.log_file_name);
|
log_info.log_file_name);
|
||||||
my_errno= 0;
|
my_errno= 0;
|
||||||
@@ -3108,13 +3112,24 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
|||||||
/*
|
/*
|
||||||
Other than ENOENT are fatal
|
Other than ENOENT are fatal
|
||||||
*/
|
*/
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
if (thd)
|
||||||
ER_BINLOG_PURGE_FATAL_ERR,
|
{
|
||||||
"a problem with getting info on being purged %s; "
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||||
"consider examining correspondence "
|
ER_BINLOG_PURGE_FATAL_ERR,
|
||||||
"of your binlog index file "
|
"a problem with getting info on being purged %s; "
|
||||||
"to the actual binlog files",
|
"consider examining correspondence "
|
||||||
log_info.log_file_name);
|
"of your binlog index file "
|
||||||
|
"to the actual binlog files",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sql_print_information("Failed to delete log file '%s'; "
|
||||||
|
"consider examining correspondence "
|
||||||
|
"of your binlog index file "
|
||||||
|
"to the actual binlog files",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
error= LOG_INFO_FATAL;
|
error= LOG_INFO_FATAL;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
@@ -3131,27 +3146,42 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
|||||||
{
|
{
|
||||||
if (my_errno == ENOENT)
|
if (my_errno == ENOENT)
|
||||||
{
|
{
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
if (thd)
|
||||||
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
{
|
||||||
log_info.log_file_name);
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
sql_print_information("Failed to delete file '%s'",
|
sql_print_information("Failed to delete file '%s'",
|
||||||
log_info.log_file_name);
|
log_info.log_file_name);
|
||||||
my_errno= 0;
|
my_errno= 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
if (thd)
|
||||||
ER_BINLOG_PURGE_FATAL_ERR,
|
{
|
||||||
"a problem with deleting %s; "
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||||
"consider examining correspondence "
|
ER_BINLOG_PURGE_FATAL_ERR,
|
||||||
"of your binlog index file "
|
"a problem with deleting %s; "
|
||||||
"to the actual binlog files",
|
"consider examining correspondence "
|
||||||
log_info.log_file_name);
|
"of your binlog index file "
|
||||||
|
"to the actual binlog files",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sql_print_information("Failed to delete file '%s'; "
|
||||||
|
"consider examining correspondence "
|
||||||
|
"of your binlog index file "
|
||||||
|
"to the actual binlog files",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
if (my_errno == EMFILE)
|
if (my_errno == EMFILE)
|
||||||
{
|
{
|
||||||
DBUG_PRINT("info",
|
DBUG_PRINT("info",
|
||||||
("my_errno: %d, set ret = LOG_INFO_EMFILE", my_errno));
|
("my_errno: %d, set ret = LOG_INFO_EMFILE", my_errno));
|
||||||
error= LOG_INFO_EMFILE;
|
error= LOG_INFO_EMFILE;
|
||||||
|
goto err;
|
||||||
}
|
}
|
||||||
error= LOG_INFO_FATAL;
|
error= LOG_INFO_FATAL;
|
||||||
goto err;
|
goto err;
|
||||||
@@ -3204,7 +3234,7 @@ int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
|||||||
int error;
|
int error;
|
||||||
LOG_INFO log_info;
|
LOG_INFO log_info;
|
||||||
MY_STAT stat_area;
|
MY_STAT stat_area;
|
||||||
|
THD *thd= current_thd;
|
||||||
DBUG_ENTER("purge_logs_before_date");
|
DBUG_ENTER("purge_logs_before_date");
|
||||||
|
|
||||||
pthread_mutex_lock(&LOCK_index);
|
pthread_mutex_lock(&LOCK_index);
|
||||||
@@ -3226,10 +3256,13 @@ int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
It's not fatal if we can't stat a log file that does not exist.
|
It's not fatal if we can't stat a log file that does not exist.
|
||||||
*/
|
*/
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
if (thd)
|
||||||
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
{
|
||||||
log_info.log_file_name);
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
sql_print_information("Failed to execute my_stat on file '%s'",
|
sql_print_information("Failed to execute my_stat on file '%s'",
|
||||||
log_info.log_file_name);
|
log_info.log_file_name);
|
||||||
my_errno= 0;
|
my_errno= 0;
|
||||||
@@ -3239,13 +3272,21 @@ int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
|||||||
/*
|
/*
|
||||||
Other than ENOENT are fatal
|
Other than ENOENT are fatal
|
||||||
*/
|
*/
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
if (thd)
|
||||||
ER_BINLOG_PURGE_FATAL_ERR,
|
{
|
||||||
"a problem with getting info on being purged %s; "
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||||
"consider examining correspondence "
|
ER_BINLOG_PURGE_FATAL_ERR,
|
||||||
"of your binlog index file "
|
"a problem with getting info on being purged %s; "
|
||||||
"to the actual binlog files",
|
"consider examining correspondence "
|
||||||
log_info.log_file_name);
|
"of your binlog index file "
|
||||||
|
"to the actual binlog files",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sql_print_information("Failed to delete log file '%s'",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
error= LOG_INFO_FATAL;
|
error= LOG_INFO_FATAL;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
@@ -3259,22 +3300,33 @@ int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
|||||||
if (my_errno == ENOENT)
|
if (my_errno == ENOENT)
|
||||||
{
|
{
|
||||||
/* It's not fatal even if we can't delete a log file */
|
/* It's not fatal even if we can't delete a log file */
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
if (thd)
|
||||||
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
{
|
||||||
log_info.log_file_name);
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
sql_print_information("Failed to delete file '%s'",
|
sql_print_information("Failed to delete file '%s'",
|
||||||
log_info.log_file_name);
|
log_info.log_file_name);
|
||||||
my_errno= 0;
|
my_errno= 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
if (thd)
|
||||||
ER_BINLOG_PURGE_FATAL_ERR,
|
{
|
||||||
"a problem with deleting %s; "
|
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||||
"consider examining correspondence "
|
ER_BINLOG_PURGE_FATAL_ERR,
|
||||||
"of your binlog index file "
|
"a problem with deleting %s; "
|
||||||
"to the actual binlog files",
|
"consider examining correspondence "
|
||||||
log_info.log_file_name);
|
"of your binlog index file "
|
||||||
|
"to the actual binlog files",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sql_print_information("Failed to delete log file '%s'",
|
||||||
|
log_info.log_file_name);
|
||||||
|
}
|
||||||
error= LOG_INFO_FATAL;
|
error= LOG_INFO_FATAL;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user