When Transactions count exceeded, required backup restore is impossible
-----------------------------------------------------------------------

                 Key: CORE-4186
                 URL: http://tracker.firebirdsql.org/browse/CORE-4186
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine, GBAK
    Affects Versions: 2.5.2 Update 1, 2.1.5 Update 1, 2.5.2
         Environment: Tested on windows x64 sc
            Reporter: Holger Klemt


I created a new database to check what happens when transaction count limit 
exceeds, after i was working on a customer database where next transaction was 
around 1bln. 

On a fast machine with firebird 2.5.2 sc and 8 parallel running scripts running 
only a "select current_timestamp from rdb§database" and doing a commit in an 
endless loop, the server was able to handle aproximatly 11000 transactions per 
second, which is in my point of view a good value.  

Since a typical day has 86400 seconds, it took only 2 and a half day to reach 
the transaction limit 2^31-? 

The almost empty database reached a size of about 600MB, which represents the 
TIP Pages required for this database.

What happens now is very ugly 

C:\firebird\fb25sc\bin>set isc_user=sysdba
C:\firebird\fb25sc\bin>set isc_password=masterkey

C:\firebird\fb25sc\bin>isql d:\db\DB1.FDB
Database:  d:\db\DB1.FDB
Statement failed, SQLSTATE = 54000
Implementation limit exceeded
-Transactions count exceeded. Perform backup and restore to make database operab
le again
Statement failed, SQLSTATE = 54000
Implementation limit exceeded
-Transactions count exceeded. Perform backup and restore to make database operab
le again

Ok, let´s try it

C:\firebird\fb25sc\bin>gbak d:\db\DB1.FDB D:\db\db1.fbk -v
gbak:readied database d:\db\DB1.FDB for backup
gbak:creating file D:\db\db1.fbk
gbak:starting transaction
gbak: ERROR:invalid transaction handle (expecting explicit transaction start)
gbak:Exiting before completion due to errors

:-(   Very bad, i tried several gbak params, none resulted in a usable database

It sems that the database is lost for future use. This is defintly a good 
reason to make the transaction counter a 64 bit version in the future, but also 
perhaps perform an automatic shutdown of the database when 99,9% of the 
available transactions are reached for new releases of old versions

If anyone wants to test it with my database, it is availble here for download 
htt.//www.ibexpert.com/firebird/db1.7z     (packed only 220kb)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to