Commit 99e36a71 authored by Marko Mäkelä's avatar Marko Mäkelä

Follow-up to MDEV-13407: Remove fil_wait_crypt_bg_threads()

Tables whose reference count is not zero will be crash-safely
dropped in the background when the count reaches zero. Therefore,
it is no longer necessary to wait for all references to be released
before possibly adding the table to the background queue.
parent 980d1bf1
......@@ -3240,37 +3240,6 @@ row_mysql_lock_table(
return(err);
}
static
void
fil_wait_crypt_bg_threads(
dict_table_t* table)
{
time_t start = time(0);
time_t last = start;
while (table->get_ref_count()> 0) {
dict_mutex_exit_for_mysql();
os_thread_sleep(20000);
dict_mutex_enter_for_mysql();
time_t now = time(0);
if (now >= last + 30) {
ib::warn()
<< "Waited " << now - start
<< " seconds for ref-count on table: "
<< table->name << " space: " << table->space;
last = now;
}
if (now >= start + 300) {
ib::warn()
<< "After " << now - start
<< " seconds, gave up waiting "
<< "for ref-count on table: " << table->name
<< " space: " << table->space;
break;
}
}
}
/** Drop ancillary FTS tables as part of dropping a table.
@param[in,out] table Table cache entry
@param[in,out] trx Transaction handle
......@@ -3647,9 +3616,6 @@ row_drop_table_for_mysql(
shouldn't have to. There should never be record locks on a table
that is going to be dropped. */
/* Wait on background threads to stop using table */
fil_wait_crypt_bg_threads(table);
if (table->get_ref_count() > 0 || table->n_rec_locks > 0
|| lock_table_has_locks(table)) {
goto defer;
......
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