Commit 46d6f74c authored by Monty's avatar Monty

Fix for MDEV-13191. Assert for !is_set() when doing LOAD DATA

This could happen when the client connection dies while sending a progress
report packet.
Fixed by not raising any errors when sending progress packets.
parent 21689d12
...@@ -4084,6 +4084,10 @@ extern "C" enum thd_kill_levels thd_kill_level(const MYSQL_THD thd) ...@@ -4084,6 +4084,10 @@ extern "C" enum thd_kill_levels thd_kill_level(const MYSQL_THD thd)
however not more often than global.progress_report_time. however not more often than global.progress_report_time.
If global.progress_report_time is 0, then don't send progress reports, but If global.progress_report_time is 0, then don't send progress reports, but
check every second if the value has changed check every second if the value has changed
We clear any errors that we get from sending the progress packet to
the client as we don't want to set an error without the caller knowing
about it.
*/ */
static void thd_send_progress(THD *thd) static void thd_send_progress(THD *thd)
...@@ -4100,8 +4104,12 @@ static void thd_send_progress(THD *thd) ...@@ -4100,8 +4104,12 @@ static void thd_send_progress(THD *thd)
thd->progress.next_report_time= (report_time + thd->progress.next_report_time= (report_time +
seconds_to_next * 1000000000ULL); seconds_to_next * 1000000000ULL);
if (global_system_variables.progress_report_time && if (global_system_variables.progress_report_time &&
thd->variables.progress_report_time) thd->variables.progress_report_time && !thd->is_error())
{
net_send_progress_packet(thd); net_send_progress_packet(thd);
if (thd->is_error())
thd->clear_error();
}
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment