Contact Us | Site Map
Firebird is used by approximately 1 million of software developers worldwide. High compatibility with industry standards on many fronts makes Firebird the obvious choice for developing interoperable applications for homogeneous and hybrid environments.
Developer's Report: QA Stress Testing & Tools Development
May - October 2014

May 2014
  • Multiple OLTP_EMUL test runs
Result: missing index entries were observed
  • Crash when trying to re-start trace
Result: reported to Alex Peshkoff
  • Could not connect and validate database when created trigger on CONNECT which inserts rdb$get_context('SYSTEM', 'CLIENT_ADDRESS') into table
Result: reported to Alex Peshkoff
  • Tested patch by Dmitry Sibiryakov (savepoints handling)
Result: several coredumps was noticed
  • Could not run ALTER TABLE DROP CONSTRAINT <FK_name> after recent changes in SVN
Result: CORE-4418
  • Server crash when using row_number()over( PARTITION BY x) in ORDER by clause
Result: CORE-4422, fixed by Dmitry Yemanov
  • Deep refactoring in order to reduce lock conflicts in OLTP-EMUL test
  • Created documentation (only in Russian so far) for the OLTP-EMUL test

June 2014
  • Problems with DDL and AUTODDL=OFF
Result: CORE-4472
  • Benchmarked v3 SS vs SC
Result: multiple crashes in SC were observed, problems were reported to the developers
  • Ported the OLTP-EMUL test to FB 2.5
Results: CORE-4452, CORE-4453, CORE-4473
  • Positioned UPDATE statement prohibits index usage for the subsequent cursor field references
Result: CORE-4447, fixed by Dmitry Yemanov
  • Continued refactoring the OLTP-EMUL test

July 2014
  • ISQL issues warning: "Bad debug info format" when connect to database with stored function after it's restoring
Result: CORE-4480, fixed by Dmitry Yemanov
  • Benchmarked the OLTP-EMUL test against the patch by Dimitry Sibiryakov
Result: better performance (up to 30%) on most operations
  • Changed data not visible in WHEN-section if exception occured inside SP that has been called from this code
Result: CORE-4483
  • Strange long time of select from view + name of table which is 'base' for the view is not displayed in the plan
Result: fixed by Dmitry Yemanov
  • AUTODDL OFF: can`t create procedure P2 which references on proc P1 and both of them are created in same transaction
Result: CORE-4490
  • Adding 2nd condition in WHERE which containing RDB$DBKEY leads to NATURAL plan
Result: CORE-4492
  • Crash when use delete from mon$statements to cancel SP which uses non-stable cursor handling
    Result: fixed by Dmitry Yemanov
  • Crash when change: "where F = :x or F = :y" to: "whene F in (:x, :y)"
Result: fixed by Dmitry Yemanov
  • Regression in 3.0: bad performance when PLAN ORDER
Result: reported to Dmitry Yemanov
  • Enhanced the OLTP-EMUL test: introduce settings for initial data loading, warm-up time and measure-time

August 2014
  • ISQL: AV message after SET WIDTH <F> <N> + pressing Ctrl_BREAK
Result: CORE-4521
  • Hash/merge joins for non-field (dbkey or derived expression) equalities are impossible
Result: CORE-4528, fixed by Dmitry Yemanov
  • Descending index not used in GROUP BY
Result: CORE-4529
  • Bad performance when join using rdb$db_key, especially in 3.0
Result: CORE-4530, fixed by Dmitry Yemanov
  • Regression in LI-T3.0.0.31280: trace reports UPDATES in statistics when doing INSERT into <some_table>
Result: CORE-4515, fixed by Dmitry Yemanov
  • Slowly growing memory leak visible in `top` output (field 'RES') for firebird process
    Result: reported to Dmitry Yemanov and Alex Peshkoff
  • MON$CALL_STACK: get wrong result (more than one row for each unit) when autonomous transaction is used
Result: fixed by Vlad Khorsun
  • Tested OLTP_EMUL together with MON$ tables
Result: multiple crashes and deadlocks, fixed by Dmitry Yemanov

September 2014
  • OR'ed optimization in 3.0 is ineffective if WHERE-clause contains two expression and they do NOT match to order of SP input arguments
Result: CORE-4537
  • Regression in 3.0: compiler requires aliasing of table in UPDATE ... RETURNING statement when include RDB$DB_KEY in fields list
Result: CORE-4540
  • Multiple OLTP-EMUL test runs
Result: SC crashes, reported to Dmitry Yemanov
  • Investigated how indices affect mutex waits in the lock manager
Result: more indices - more mutex waits, GC is temporarily disabled via the lock manager during index operations.
  • Crash on EXIT (or QUIT) command if use UTF8-collation + create domain based on it + issue SHOW DOMAIN
Result: CORE-4557
  • gfix -v -full hangs without message "Resource temporarily unavailable" when .fdb is opened by some attach
    Result: CORE-4560
  • Bugcheck "wrong record length (183), file: vio.cpp line: 1311" when use cursor with "order by ID+0" and "for update with lock"
Result: CORE-4561
  • GDSCODE can have value = 0 in WHEN-section under concurrent load (SC and CS only)
Result: CORE-4565, fixed by Vlad Khorsun

October 2014
  • Error stack can be broken after several minutes under heavy workload
Result: CORE-4553, fixed by Alex Peshkoff
  • Run the OLTP_EMUL test
Result: page-level errors, reported to Vlad Khorsun
  • Tested patches by Vlad Khorsun
Result: reported results to the author
  • Finalized the OLTP-EMUL test and uploaded it to the project's SVN repository
  • Prepared session for the Firebird Conference 2014

Pavel Zotov
Moscow, Russian Federation
Join Firebird!
RSS Newsletter
Home About Firebird Documentation Downloads Community Support Development Case Studies Back to Top
This site and the pages contained within are Copyright © 2000-2018, Firebird Project. Firebird® is a registered trademark of Firebird Foundation Incorporated. Developed by DQ Team.