summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-02-14 08:36:03 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2022-02-14 08:36:03 +0200
commit5291f35f9f0103292d0356e10fa2595e8e5e082e (patch)
tree24a70cd215e6d2da6accd506ffd839e175e3b015
parent018519a8b2d40411bc349c1d186fac275f673e39 (diff)
parent7b891008ceb2f571ce4f5916217acad8abb46464 (diff)
downloadmariadb-git-5291f35f9f0103292d0356e10fa2595e8e5e082e.tar.gz
Merge 10.6 into 10.7
-rw-r--r--storage/innobase/dict/dict0stats_bg.cc5
-rw-r--r--storage/innobase/log/log0recv.cc3
2 files changed, 5 insertions, 3 deletions
diff --git a/storage/innobase/dict/dict0stats_bg.cc b/storage/innobase/dict/dict0stats_bg.cc
index e035c0688ee..021b702c143 100644
--- a/storage/innobase/dict/dict0stats_bg.cc
+++ b/storage/innobase/dict/dict0stats_bg.cc
@@ -103,17 +103,18 @@ static void dict_stats_recalc_pool_add(table_id_t id)
{
ut_ad(!srv_read_only_mode);
ut_ad(id);
+ bool schedule = false;
mysql_mutex_lock(&recalc_pool_mutex);
const auto begin= recalc_pool.begin(), end= recalc_pool.end();
if (end == std::find_if(begin, end, [&](const recalc &r){return r.id == id;}))
{
recalc_pool.emplace_back(recalc{id, recalc::IDLE});
+ schedule = true;
}
mysql_mutex_unlock(&recalc_pool_mutex);
-
- if (begin == end)
+ if (schedule)
dict_stats_schedule_now();
}
diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc
index 8af6ab6521d..60934a356e7 100644
--- a/storage/innobase/log/log0recv.cc
+++ b/storage/innobase/log/log0recv.cc
@@ -907,6 +907,7 @@ bool recv_sys_t::recover_deferred(recv_sys_t::map::iterator &p,
node->deferred= true;
if (!space->acquire())
goto fail;
+ fil_names_dirty(space);
const bool is_compressed= fil_space_t::is_compressed(flags);
#ifdef _WIN32
const bool is_sparse= is_compressed;
@@ -4263,7 +4264,6 @@ completed:
err = recv_rename_files();
}
mysql_mutex_unlock(&recv_sys.mutex);
- mysql_mutex_unlock(&log_sys.mutex);
recv_lsn_checks_on = true;
@@ -4275,6 +4275,7 @@ completed:
err = DB_CORRUPTION;
}
+ mysql_mutex_unlock(&log_sys.mutex);
return err;
}