At 03:59 p.m. 16/03/2015, [email protected] [firebird-support] wrote:

>i have done some search and maybe i have a problem with commit reaining but it 
>still strange !
>
>just to be sure about my test :
>
>1) if i do select count(1) from mon$transactions after the end of my program 
>and it returns 0, is what I can tell that there is no running transaction ?

Don't confuse a RUNNING transaction with an INTERESTING transaction.  If you 
have an interface that has requested COMMIT WITH RETAIN (CommitRetaining in 
Delphi) then the transaction, although committed, remain "interesting" until it 
is committed with COMMIT.  The ID of that transaction is what you see in 
"Oldest transaction". Check the transaction settings in your client code.

>3) i confirm that the same program don't have this problem with the 2.5.3 on 
>windows super server but i don't find anything on bug fixes in release note.

This is not convincing. Your mention of the background sweep seeming to hold 
things up may be more revealing.  I suggest you resolve the COMMIT WITH RETAIN 
problem and see where it takes you.  Also, check your firebird.conf setting for 
GcPolicy.  With Superserver, you may get less interference from sweeping if it 
is set to 'Background" instead of "Combined".  It won't solve the problem but 
it might help to keep things flowing while you fix and test the transaction 
settings.  Don't forget to restart the server after altering a parameter in 
firebird.conf.

Note also that some developers who have had this problem from CommitRetaining 
have given themselves some air by setting the SweepInterval to 0 and running 
sweeps during user down-time, using gfix or a third-party tool.


Helen Borrie, Support Consultant, IBPhoenix (Pacific)
Author of "The Firebird Book" and "The Firebird Book Second Edition"
http://www.firebird-books.net
__________________________________________________________________ 

Reply via email to