Subject Re: [firebird-support] Problem Firebird Classic Server
Author Thomas Steinmaurer
>>> First my gstat -h statistics:
>>> Oldest transaction 833
>>> Oldest active 961
>>> Next transaction 229603
>> First of all, you have a transaction management problem, because during
>> 5 days of operation, the gap between OIT/OAT and next transaction grow
>> and will probably grow further.
> I just wanted to emphasize what Thomas said here, with this big a gap after five days, I'm surprised that you actually manage to run several months before the problems gets too big. At the time you got these statistics, there were still an open transaction that were amongst the first 1000 transactions started. To me, that indicates something very wrong in how you handle your transactions (theoretically, that could mean 228000 versions of each record in your database - in reality it will be a lot less, but still too many). Transactions should be short, how short depends on your particular situation, but five days is far too long in all cases.
> Do you use CommitRetaining - that at least wasn't a proper commit and could hold up OIT/OAT (I don't know whether Fb 2.0 can have improved that or not) or open one or more transactions that you do not close (that may even be a transaction that doesn't update anything)?

Good one. CommitRetaining (aka soft commit) might be used from the
access components behind the scene, when using some sort of auto commit
mode. Or even worse, e.g. ZEOS does not support hard commits at all.
With Zeos, you have to disconnect from the database to get a hard
commit. I know there are quite some people out there who are using Zeos
without knowing the impact. ;-)

Any chance that the original poster is using the Zeos access components? ;-)

Best Regards,
Thomas Steinmaurer
LogManager Series - Logging/Auditing Suites supporting
InterBase, Firebird, Advantage Database, MS SQL Server and
NexusDB V2
Upscene Productions