Bug #40893 | Falcon concurrent unlock can cause invalid fetches | ||
---|---|---|---|
Submitted: | 20 Nov 2008 16:19 | Modified: | 13 Dec 2008 7:25 |
Reporter: | Kevin Lewis | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
Version: | 6.0.8 | OS: | Any |
Assigned to: | Kevin Lewis | CPU Architecture: | Any |
Tags: | F_RECORD TREE |
[20 Nov 2008 16:19]
Kevin Lewis
[20 Nov 2008 16:20]
Kevin Lewis
Both Olav and Kevin have reproduced this.
[20 Nov 2008 17:06]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/59418 2914 Kevin Lewis 2008-11-20 Code cleanup and a comment change related to Bug#40893
[20 Nov 2008 17:23]
Kevin Lewis
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/59408 2912 Kevin Lewis 2008-11-19 Do not use Record::state = recUnlock. It is not recognized by many parts of the code and can cause the wrong behavior. Also, A lock record that is unlocked should stay on the transaction. It is still replaced on the recordLeaf, but other threads with pointers to it from a concurrent Table::fetch need to be able to see the transaction. It will be taken off the transaction later with all the other records on the transaction.
[11 Dec 2008 14:19]
Bugs System
Pushed into 6.0.9-alpha (revid:klewis@mysql.com-20081120170550-p48a7rrjs4by8ag1) (version source revid:hky@sun.com-20081127084516-nbu7693932vcz2st) (pib:5)
[13 Dec 2008 7:25]
MC Brown
No documentation needed.