List:Falcon Storage Engine« Previous MessageNext Message »
From:Christopher Powers Date:November 17 2008 9:15pm
Subject:Re: Question on Scavenging
View as plain text  
Kevin Lewis wrote:
> Just to follow up on this thread, there IS a problem in 
> Table::expungeRecordVersions(). But not what I thought below.  Jim was 
> able to explain to me on Saturday how garbage collection is supposed 
> to work.  Today, I saw that it was not working correctly and invented 
> a testcase that would show the problem.
> I just documented it in Bug#40801.
Kevin, I wonder if such bugs should be tagged "design doc" or something 
so we can pull the text for use in the Falcon documentation.
> Note that since the scavenger only starts pruning and garbage 
> collecting old record versions when the record cache threshold is 
> reached, we would rarely ever see this in testing.  But it would be 
> seen in the real world...
> Kevin Lewis wrote:
>> 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

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