Subject Re: Firebird Sleeping
Author lseckde
--- In firebird-support@yahoogroups.com, "Ann W. Harrison"
<aharrison@i...> wrote:
>
> How did you run the test? I ask because a lot of tools - isql and
qli
> among others - open a second transaction to handle metadata
lookups.
> That second transaction blocks garbage collection.
>
> Alternately, the transaction you're using to read the record may be
at
> fault.
>
I was using isql as the second connection to read from time to time
the record the other application is modifying. But I closed isql
evertime afterwards. And I whatches the transactions there was no
transaction other than that one that changes the record frequently.

>
> Do you have indexes on the table? On a duplicated field?

No.

> >
> > Result:
> > Interbase:
> > -With each change there is an new recorversion
> > -While changing is running, reading the same record with
diffenent
> > application has no influence at the record versions
> > -stopping changing, and reading the same record with an different
> > application, seems to start garbage collection (100%CPU for 30
> > minutes at about 100000 record versions (400 pages))
>
> OK, that's ugly.
> >
> > Firbird:
> > -With each change there is an new recorversion
> > -While changing is running, reading the same record with
diffenent
> > application has no influence at the record versions
> > -stopping changing, and reading the same record with an different
> > application, seems to start garbage collection but absolutely no
CPU
> > usage, there are just gone
>
> Which version of Firebird?

Firebird Version is 1.5.2.4731

> >
> > Now I have even more questions:
> > 1. Why are there recordversion if there is only on application
that
> > is connected to the database (one transaction)?
>
> As above, there could be another active transaction.
But I' sure there was no other transaction, I always closed the tool
that read the record.
>
> > 2. Why does garbage collection does not occure if I read the
record,
> > while still an other transaction changed the record again. I
thought
> > that still the older versions could be marked as garbage?
>
> Same answer.

But I always thougt the the garbage collection could remove record
versions that doesn't interrest anymore.
I my case like having Versions from Transaction 1-1000. Starting
Transaction 1001. Changing with Transaction 1002 so Record version
1002 exists but not commited. Now reading with 1001 (OIT) the record,
and garbage collection removes (marks) versions 1-999.

>
> > 3. Is there realy such an big inmprovment in garbage collection
in
> > firebird, that an cleanup that take minutes in interbase takes
> > milliseconds in firebird?
>
> Some versions of Firebird, yes, there are.
>
>

Many thanks again

Thomas