summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2021-05-19 22:26:02 +0200
committerSujatha <sujatha.sivakumar@mariadb.com>2021-05-25 15:29:50 +0530
commitd8fa71a089aa5cbe569e7f8b6fa67326a9ecab2b (patch)
treec7101234c2939045516264341cd4180861ae781f
parentfe7e44d8ad5d7fe9c91f476353a3e1749f18afc6 (diff)
downloadmariadb-git-d8fa71a089aa5cbe569e7f8b6fa67326a9ecab2b.tar.gz
MDEV-25730: maria.repair test fails with valgrind
cherry-pick commit: 1fff2398ef3dda1a7e8404f18e4e165823bd4e0a MDEV-22530 post push fixes from 10.6. Followup. If the KILL happens - report it as a failure, don't eat it up silently. Note that this has to be done after `table_name` is populated, so that the error message could show it.
-rw-r--r--sql/sql_admin.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_admin.cc b/sql/sql_admin.cc
index 21afa1154f6..3fa00b81f2e 100644
--- a/sql/sql_admin.cc
+++ b/sql/sql_admin.cc
@@ -499,8 +499,6 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
DBUG_PRINT("admin", ("table: '%s'.'%s'", table->db, table->table_name));
DEBUG_SYNC(thd, "admin_command_kill_before_modify");
- if (thd->is_killed())
- break;
strxmov(table_name, db, ".", table->table_name, NullS);
thd->open_options|= extra_open_options;
table->lock_type= lock_type;
@@ -515,6 +513,13 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
: lock_type >= TL_WRITE_ALLOW_WRITE
? MDL_SHARED_WRITE : MDL_SHARED_READ);
+ if (thd->check_killed())
+ {
+ fatal_error= true;
+ result_code= HA_ADMIN_FAILED;
+ goto send_result;
+ }
+
/* open only one table from local list of command */
while (1)
{