Bug #41850 Falcon reports 0 rows in table under concurrent workload
| Submitted: | 4 Jan 2009 17:24 | Modified: | 15 May 2009 13:39 |
|---|---|---|---|
| Reporter: | Philip Stoev | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
| Version: | 6.0-falcon-team | OS: | Any |
| Assigned to: | Olav Sandstå | CPU Architecture: | Any |
| Tags: | F_ISOLATION, pb2, pushbuild, test failure | ||
[4 Jan 2009 17:24]
Philip Stoev
[4 Jan 2009 17:47]
Philip Stoev
Grammar file for bug 41850
Attachment: bug41850.yy (application/octet-stream, text), 1.47 KiB.
[4 Jan 2009 18:14]
Philip Stoev
To reproduce this bug, please pull from the mysql-test-extra-6.0 tree and then execute: $ cd mysql-test/gentest $ perl runall.pl \ --threads=32 \ --queries=1000000 \ --duration=300 \ --basedir=/build/bzr/6.0-falcon-team \ --engine=Falcon \ --grammar=conf/bug41850.yy \ --gendata=conf/transactions.zz \ --validator=DatabaseConsistency \ --mysqld=--loose-falcon-lock-wait-timeout=1 \ --mysqld=--log-output=none \ --mem This will output lines like # 20:11:49 Bad average for table: table10_falcon_int_autoinc; average1: ; average2: ; count: 0; which mean that a query of the form: SELECT AVG(`int_key`) + AVG(`int`) AS average1, (SUM(`int_key`) + SUM(`int`)) / COUNT(*) AS average2, COUNT(*) AS count FROM `table10_falcon_int_autoinc`; returned 0 rows, even though the table contains over 1000 records. Errors like # 20:11:51 Bad average for table: table10_falcon_int_autoinc; average1: 200.0205; average2: 200.0205; count: 1461; that is, with COUNT(*) != 0, are caused by other Falcon bugs which have been filed separately.
[30 Mar 2009 21:50]
Kevin Lewis
Philip reported that this problem cannot be repeated after the changes to create a TransactionState object and the addition of the CycleManager to protect doomed records until after all temporary stack pointers to them have gone away.
[17 Apr 2009 17:00]
Olav Sandstå
Fix is in 6.0.11
[15 May 2009 13:39]
MC Brown
A note have been added to the 6.0.11 changelog: The Falcon CycleManager has been updated, which addresses a number of issues when examining records in various transaction states and their visisbility/isolation in relation to other threads.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.059 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.