List:Falcon Storage Engine« Previous MessageNext Message »
From:Kevin Lewis Date:November 13 2008 5:16am
Subject:Question on Scavenging
View as plain text  
Jim,

I see what appears to be a possible problem in 
Table::expungeRecordVersions().  It seems like this is supposed to 
release a long string of old invisible record versions. The oldest 
visible record is sent into it and the priorRecord chain from there down 
  is scavenged.   It does this by detaching the priorRecord from the one 
sent in, doing garbage collection on that prior, and releasing its 
useCount.  The useCount is always 1 due to the priorRecord pointer.  So 
the release at the end of  Table::expungeRecordVersions() causes it to 
be deleted. Its destructor will release all the priorRecords from there 
to the end of the chain.

But where is the garbage collection done on each of these other prior 
records?

If I am right that the garbage collection is never done, then index 
pages and blob records are left in the pages, filling up the tablespace.

Kevin
Thread
Question on ScavengingKevin Lewis13 Nov
  • Re: Question on ScavengingKevin Lewis17 Nov
    • Re: Question on ScavengingChristopher Powers17 Nov
      • Re: Question on ScavengingKevin Lewis17 Nov
        • Re: Question on ScavengingHakan Kuecuekyilmaz18 Nov