diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-02-15 09:37:01 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-02-15 17:00:19 +0100 |
commit | 638ede5bef6f2769aedf84a92222f2fd2f313a9a (patch) | |
tree | b4b9a3888b589ab651c8e191fce2134d84530f1f /mysql-test/suite | |
parent | f13f9663042c19811d156043f1931a63aba44076 (diff) | |
download | mariadb-git-638ede5bef6f2769aedf84a92222f2fd2f313a9a.tar.gz |
MDEV-24864 Fatal error in buf_page_get_low() / fseg_page_is_free()
The fix of MDEV-24569 and MDEV-24695 introduced a race condition when
a table is being rebuilt or dropped during the fseg_page_is_free() check.
The server would occasionally crash during the execution of the test
encryption.create_or_replace.
The fil_space_t::STOPPING flag can be set by DDL operations. Normally,
such concurrent operations are prevented by a metadata lock (MDL).
However, neither the change buffer merge nor the fil_crypt_thread() are
protected by MDL.
fil_crypt_read_crypt_data(), xdes_get_descriptor_const(): Pass the
BUF_GET_POSSIBLY_FREED flag to avoid the fatal error in buf_page_get_low()
if a DDL operation was just initiated.
Diffstat (limited to 'mysql-test/suite')
0 files changed, 0 insertions, 0 deletions