← Back to team overview

maria-developers team mailing list archive

Re: 6daf451415f: Let "FTWRL <table_list>" use extra(HA_EXTRA_FLUSH)

 

Sergei,

On Thu, Apr 02, 2020 at 05:13:27PM +0200, Sergei Golubchik wrote:
> 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@xxxxxxxxxxx>
> > > > committer: Sergey Vojtovich <svoj@xxxxxxxxxxx>
> > > > 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?
Apparently close_thread_tables() at the end of flush_tables_with_read_lock(),
which I was thinking about, is only called on error.

So, yes, normal cleanup at the end of the satatement.

Regards,
Sergey


References