> 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.