summaryrefslogtreecommitdiff
path: root/mysql-test/main/gis-debug.result
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-04-26 12:08:59 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2023-04-26 12:08:59 +0300
commit5740638c4c3337a0021a82f5b744afca1ab1346c (patch)
tree12691dd2b7480491481a4cf6a2ade7478e6305be /mysql-test/main/gis-debug.result
parentd4265fbde587bd79b6fe3793225d3f4798ee955e (diff)
downloadmariadb-git-5740638c4c3337a0021a82f5b744afca1ab1346c.tar.gz
MDEV-31132 Deadlock between DDL and purge of InnoDB history
log_free_check(): Assert that the caller must not hold exclusive lock_sys.latch. This was the case for calls from ibuf_delete_for_discarded_space(). This caused a deadlock with another thread that would be holding a latch on a dirty page that would need to be written so that the checkpoint would advance and log_free_check() could return. That other thread was waiting for a shared lock_sys.latch. fil_delete_tablespace(): Do not invoke ibuf_delete_for_discarded_space() because in DDL operations, we will be holding exclusive lock_sys.latch. trx_t::commit(std::vector<pfs_os_file_t>&), innodb_drop_database(), row_purge_remove_clust_if_poss_low(), row_undo_ins_remove_clust_rec(), row_discard_tablespace_for_mysql(): Invoke ibuf_delete_for_discarded_space() on the deleted tablespaces after releasing all latches.
Diffstat (limited to 'mysql-test/main/gis-debug.result')
0 files changed, 0 insertions, 0 deletions