From: Kevin Lewis Date: February 18 2009 11:10pm Subject: Re: 2 recovery bugs, single patch, please check http://lists.mysql.com/commits/66783 List-Archive: http://lists.mysql.com/falcon/566 Message-Id: <499C954F.40208@sun.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=ISO-8859-1 Content-Transfer-Encoding: 7BIT > Vladislav Vaintroub wrote: > General question unrelated to the patch mostly to Kevin and Chris : should > background activities scavenger/updateCardinalities be disabled for the > whole duration of recovery or for phase1 and 2 of recovery? I was somewhat > surprised seeing interference with background threads there, because I was > somehow sure recovery runs alne. I do not think recovery was written with > concurrency in mind. Was scavenger meant to run in recovery at all? Does > updateCardinality make sense? Any thoughts? It appears that recovery does not build up the record cache. So there is no reason to run the scavenger during recovery. You can disable the scheduled version of the scavenger during recovery. The load-based version should not be activated since there are no calls to allocRecord() or allocRecordVersion(). But if I missed something, and the record cache does fill up during recovery, then you do want the scavenger to run. Maybe not all of it. But prune and retire should run.