Hi, Sergey! On Apr 02, Sergey Vojtovich wrote:
On Thu, Apr 02, 2020 at 11:43:14AM +0200, Sergei Golubchik wrote:
Hi, Sergey!
On Apr 01, Sergey Vojtovich wrote:
revision-id: 6daf451415f (mariadb-10.5.0-69-g6daf451415f) parent(s): c24253d0fa3 author: Sergey Vojtovich <svoj@mariadb.org> committer: Sergey Vojtovich <svoj@mariadb.org> timestamp: 2019-12-25 20:24:24 +0400 message:
Let "FTWRL <table_list>" use extra(HA_EXTRA_FLUSH)
Rather than flushing caches with tdc_remove_table(TDC_RT_REMOVE_UNUSED) flush them with extra(HA_EXTRA_FLUSH) instead. This goes inline with regular FTWRL.
Not quite. FTWRL calls flush_tables(thd, FLUSH_ALL), and flush_tables() does extra(HA_EXTRA_FLUSH) + tc_release_table() + tdc_release_share(share)
So FTWRL still closes all tables properly. Sure it does. Because it acquired table/share previously - they have to be released eventually.
"FTWRL table_name" will do the same a few lines below in close_thread_tables().
You mean after flush_tables_with_read_lock(), during the normal cleanup at the end of the statement? Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org