summaryrefslogtreecommitdiff
path: root/sql/mdl.cc
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2019-11-01 19:18:47 +0400
committerSergey Vojtovich <svoj@mariadb.org>2020-02-13 01:27:14 +0400
commitc5e00fea102f0f8d614f60f39737b55dd09b4062 (patch)
tree51ec14aaffb7f0a31b279edb19d8f06b2e81508d /sql/mdl.cc
parent646d1ec83a57d9a5b380079afc3612c1d9acadd5 (diff)
downloadmariadb-git-c5e00fea102f0f8d614f60f39737b55dd09b4062.tar.gz
MDEV-20867 - Perform careful review of "Server crashes with BACKUP STAGE and FLUSH TABLE table_name"
Reverted original patch (c2e0a0b). For consistency with "LOCK TABLE <table_name> READ" and "FLUSH TABLES WITH READ LOCK", which are forbidden under "BACKUP STAGE", forbid "FLUSH TABLE <table_name> FOR EXPORT" and "FLUSH TABLE <table_name> WITH READ LOCK" as well. It'd allow consistent fixes for problems like MDEV-18643.
Diffstat (limited to 'sql/mdl.cc')
-rw-r--r--sql/mdl.cc11
1 files changed, 3 insertions, 8 deletions
diff --git a/sql/mdl.cc b/sql/mdl.cc
index e7c0d699d76..591127dc1d8 100644
--- a/sql/mdl.cc
+++ b/sql/mdl.cc
@@ -3166,19 +3166,14 @@ void MDL_context::set_transaction_duration_for_all_locks()
DBUG_ASSERT(m_tickets[MDL_STATEMENT].is_empty());
- /* Don't swap locks if this thread is running backup stages */
- if (current_thd->current_backup_stage == BACKUP_FINISHED)
- m_tickets[MDL_TRANSACTION].swap(m_tickets[MDL_EXPLICIT]);
+ m_tickets[MDL_TRANSACTION].swap(m_tickets[MDL_EXPLICIT]);
Ticket_iterator it_ticket(m_tickets[MDL_EXPLICIT]);
while ((ticket= it_ticket++))
{
- if (ticket->get_key()->mdl_namespace() != MDL_key::BACKUP)
- {
- m_tickets[MDL_EXPLICIT].remove(ticket);
- m_tickets[MDL_TRANSACTION].push_front(ticket);
- }
+ m_tickets[MDL_EXPLICIT].remove(ticket);
+ m_tickets[MDL_TRANSACTION].push_front(ticket);
}
#ifndef DBUG_OFF