summaryrefslogtreecommitdiff
path: root/sql/log.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/log.cc')
-rw-r--r--sql/log.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/log.cc b/sql/log.cc
index 57c14b24782..7e0e90e28c0 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -4313,10 +4313,16 @@ MYSQL_BIN_LOG::flush_and_set_pending_rows_event(THD *thd,
/*
Write pending event to log file or transaction cache
*/
+ DBUG_EXECUTE_IF("simulate_disk_full_at_flush_pending",
+ {DBUG_SET("+d,simulate_file_write_error");});
if (pending->write(file))
{
pthread_mutex_unlock(&LOCK_log);
set_write_error(thd);
+ delete pending;
+ trx_data->set_pending(NULL);
+ DBUG_EXECUTE_IF("simulate_disk_full_at_flush_pending",
+ {DBUG_SET("-d,simulate_file_write_error");});
DBUG_RETURN(1);
}