Join Firebird!

Join Firebird Foundation to support Firebird SQL development and receive multiple bonuses

Follow Us

Select your media preference

Newsletter

Subscribe to Firebird’s Newsletter to receive the latest news

Developer's Report: QA Stress Testing & Tools Development
October/November 2013

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

October
  • 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
 
November
  • 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 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