Subject | Re: [firebird-support] Re: Can stopping the Firebird Server damage database if a sweep is being performed - Email found in subject |
---|---|
Author | Michael Ludwig |
Post date | 2010-05-14T22:11Z |
hvlad schrieb am 14.05.2010 um 21:28:50 (-0000):
stand for? Simply "Transaction in progress"?
Back versions and garbage collection
activity that removes disposable versions of records, also termed "back
versions". Nobody needs those any more, nobody (i.e. no transaction) is
interested in them.
Sweeping, on the other hand, occurs as a protecting measure to prevent
the database from drowning in garbage, which is the result of old
transactions (that were neither committed nor aborted) still lurking
around and clinging on to those old versions of records. If such an old
transaction is very old (in the example, older than 20,000 transactions
than the newest transaction), a decision is brought about to simply
discard those age-old back versions despite the age-old transaction
maintaining an interest in them - because otherwise that could go on
forever.
Is that about correct?
And what about that age-old transaction? Is it forcibly aborted?
--
Michael Ludwig
> > > Sweep interval is not a "number of transactions since the lastOIT, that's the "Oldest Interesting Transaction". But what does "TIP"
> > > sweep".
> > So, in the case of a SuperServer install, where garbage collection
> > is turned off, the above definition will be true when the number of
> > transactions since the last sweep reaches the threshold.
>
> OIT can move forward without a sweep. There is two possible reasons
> for OIT to stuck :
> a) rollback via TIP
> b) limbo transaction
stand for? Simply "Transaction in progress"?
Back versions and garbage collection
> else OIT will move forward without a sweep for years despite of numberVery nice :-)
> of transactions.
> Also, OIT have no relation with background garbage collection in SS.So what I understood is that garbage collection is a reqular background
activity that removes disposable versions of records, also termed "back
versions". Nobody needs those any more, nobody (i.e. no transaction) is
interested in them.
Sweeping, on the other hand, occurs as a protecting measure to prevent
the database from drowning in garbage, which is the result of old
transactions (that were neither committed nor aborted) still lurking
around and clinging on to those old versions of records. If such an old
transaction is very old (in the example, older than 20,000 transactions
than the newest transaction), a decision is brought about to simply
discard those age-old back versions despite the age-old transaction
maintaining an interest in them - because otherwise that could go on
forever.
Is that about correct?
And what about that age-old transaction? Is it forcibly aborted?
--
Michael Ludwig