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
October/November 2013

  • Heavy-load DML test on database ("IDX_UNDER_LOAD") with 10^6 records to check whether there are bugs when all connections performed via FB3 client (450 connections)
Result: deadlock with MON$ tables detected, fixed by Vlad Khorsun
  •  Repeat heavy DML-test without querying MON$-tables, 450 connects, all via FB3 client
Result: no problems
  • Apply patches to avoid deadlocks while querying MON$ tables. Heavy DML (350, 450, 550 connections) + 4 separate scripts with querying MON$-tables + connection time calibration script
Result: huge amount of too long connections (over 8 seconds), several server crashes
  • Repeat heavy DML-test with v2.5 clients only
Result: server does not respond after ~30 minutes of runtime
  • Several attempts to get a coredump when the server crashes under high load (~100 connections)
Result: race condition detected, fixed by Alex Peshkoff
  • Repeat heavy DML-test with fresh patches, mixed v2.5 and v3 clients (450 connections)
Result: too long connections (over 60 seconds) detected

  • Bugcheck 165 (cannot find tip page) happens if engine crashed right after CREATE DATABASE
Result: CORE-4260, fixed by Vlad Khorsun
  • Partially ported (schema and a number of queries) advanced SQL language exercises to Firebird, intended to test both old and new query data access methods, results are compared with Oracle and MSSQL
Result: a number of issues detected, see below
  •  Found test case delivering wrong result using a left join
Result: CORE-4261, fixed by Dmitry Yemanov
  • Found test case raising error: "context already in use"
Result: CORE-4262, fixed by Dmitry Yemanov
  • Checked that CORE-4236 (Database shutdown is reported as successfully completed before all active connections are in fact interrupted) is really fixed
Result: confirmed
  • Investigated strange cases of 'lock conflict' when script contained only inserts (and later no DML at all)
Result: CORE-4265, fixed by Dmitry Yemanov
  • Found test case causing wrong output when result of windowed function is used in query with useless WHERE 0=0 and GROUP BY clause
Result: CORE-4269
  • Found test case causing wrong output (no rows) in case of subquery with windowed function + where <field> IN (select ...)
Result: CORE-4270, fixed by Dmitry Yemanov
  • Profiled the engine trying to find the reason of high connections times under load
Result: found a few problematic places, reported to the core devs, proved that only SS (shared cache arch) is affected

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.