diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2023-05-15 09:02:32 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2023-05-15 09:02:32 +0300 |
commit | a3e5b5c4db47cd29dc090d27db1d7f915cf774f6 (patch) | |
tree | c701f5e08f5d35a5f6077c7af61e55ad531426a1 | |
parent | f522b0f2303e5556e3fc98c50cdc7999f6f5834a (diff) | |
parent | c9eff1a144ba44846373660a30d342d3f0dc91a5 (diff) | |
download | mariadb-git-10.6.tar.gz |
Merge 10.5 into 10.610.6
-rw-r--r-- | storage/innobase/buf/buf0flu.cc | 14 | ||||
-rw-r--r-- | storage/innobase/buf/buf0rea.cc | 3 | ||||
-rw-r--r-- | storage/innobase/include/fil0fil.h | 2 |
3 files changed, 11 insertions, 8 deletions
diff --git a/storage/innobase/buf/buf0flu.cc b/storage/innobase/buf/buf0flu.cc index 73fc2957ebb..68dbaee5e7d 100644 --- a/storage/innobase/buf/buf0flu.cc +++ b/storage/innobase/buf/buf0flu.cc @@ -1005,11 +1005,19 @@ uint32_t fil_space_t::flush_freed(bool writable) mysql_mutex_assert_not_owner(&buf_pool.flush_list_mutex); mysql_mutex_assert_not_owner(&buf_pool.mutex); - freed_range_mutex.lock(); - if (freed_ranges.empty() || log_sys.get_flushed_lsn() < get_last_freed_lsn()) + for (;;) { + freed_range_mutex.lock(); + if (freed_ranges.empty()) + { + freed_range_mutex.unlock(); + return 0; + } + const lsn_t flush_lsn= last_freed_lsn; + if (log_sys.get_flushed_lsn() >= flush_lsn) + break; freed_range_mutex.unlock(); - return 0; + log_write_up_to(flush_lsn, true); } const unsigned physical{physical_size()}; diff --git a/storage/innobase/buf/buf0rea.cc b/storage/innobase/buf/buf0rea.cc index 5b679efe9b6..c2ab50cc674 100644 --- a/storage/innobase/buf/buf0rea.cc +++ b/storage/innobase/buf/buf0rea.cc @@ -265,9 +265,6 @@ buf_read_page_low( buf_page_t* bpage; if (buf_dblwr.is_inside(page_id)) { - ib::error() << "Trying to read doublewrite buffer page " - << page_id; - ut_ad(0); space->release(); return DB_PAGE_CORRUPTED; } diff --git a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h index 165994eef35..3d88e6ad48f 100644 --- a/storage/innobase/include/fil0fil.h +++ b/storage/innobase/include/fil0fil.h @@ -640,8 +640,6 @@ public: /** Close all tablespace files at shutdown */ static void close_all(); - /** @return last_freed_lsn */ - lsn_t get_last_freed_lsn() { return last_freed_lsn; } /** Update last_freed_lsn */ void update_last_freed_lsn(lsn_t lsn) { |