Subject Re: [firebird-support] Re: Firebird Hanging
Author Ann W. Harrison
Adam wrote:
> Superserver has a garbage collection thread, Classic does not. With
> classic, it is the poor guy that is in the wrong place at the wrong
> time who gets handed the mop and told to clean up. Although IIRC this
> still happens with SS, there is a thread dedicated to the task of
> background garbage collection so I would expect that the garbage would
> have less chance to accumulate under SS.

As it happens, however intuitive that conclusion seems, it is wrong
at least in a number of cases of heavily loaded SS that I've studied.
The problem is that the garbage collect thread has a limited quantum,
and if there's a major index duplicate problem, the quantum is not
sufficient to do useful work. Increasing the quantum doesn't help
as much as turning off the garbage collect thread. We've produced
several special 1.0 SS kits without the garbage collect thread to
resolve customer complaints.

Another problem with your analogy is that the "poor guy" is only
asked to mop up the record he's currently reading, so that page,
and the back page if any are already in memory - he needed them
both to read the record version he needs. So, it's a question
of adding a write after pages are already read.