mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
@ -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)
|
|||||||
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user