Subject | Re: [firebird-support] Help with GSTAT output |
---|---|
Author | Ann W. Harrison |
Post date | 2007-11-26T17:29:06Z |
Stefan Heymann wrote:
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.
Regards,
Ann
> This is from the GSTAT out from a Firebird 1.5 database (WindowsUnfortunate, but not critical. The Oldest Active blocks garbage
> 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
>
>
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.
Regards,
Ann