Subject Re: [firebird-support] Help with GSTAT output
Author Ann W. Harrison
Stefan Heymann wrote:
> This is from the GSTAT out from a Firebird 1.5 database (Windows
> Server)
> Generation 4503107
> Oldest transaction 1582359
> Oldest active 4503099
> Oldest snapshot 4503099
> Next transaction 4503100
> Could somebody tell me if this (especially the difference between
> "Oldest transaction" and "Oldest active") is:
> ( ) normal
> ( ) OK
> ( ) bad

Unfortunate, but not critical. The Oldest Active blocks garbage
collection. The Oldest Transaction is the oldest that is not
committed - probably rolled back. Transactions older than that
are "safe" and data they created can be used without checking on
the state of the individual transaction. The check is pretty
cheap - testing a bit in a vector - but the length of the vector
is proportional to the difference between the Oldest Transaction
and the Next Transaction. With a shared server on a modern
machine, a few thousand bytes here or there is no big deal.
Using classic on a machine with the amount of memory available
fifteen years ago, it was a problem. A pass with sweep should
fix it.