Bug #48040 | Ndb : TC trigger infinite loop in abort scenario | ||
---|---|---|---|
Submitted: | 14 Oct 2009 13:49 | Modified: | 29 Oct 2009 9:22 |
Reporter: | Frazer Clement | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S3 (Non-critical) |
Version: | mysql-5.1-telco-6.2 | OS: | Any |
Assigned to: | Frazer Clement | CPU Architecture: | Any |
Tags: | mysql-5.1-telco-6.2+ |
[14 Oct 2009 13:49]
Frazer Clement
[22 Oct 2009 16:06]
Frazer Clement
Proposed fix adding transid checks to TcContinueB
Attachment: bug48040.patch (text/x-patch), 2.42 KiB.
[22 Oct 2009 16:14]
Frazer Clement
Proposed patch is low-risk fix. ContinueB is checked for TransId alignment in pending triggers scenario. Connection State is checked before attempting to execute pending triggers. No attempt is made to delay abort, or to avoid the need for ContinueB in this scenario.
[22 Oct 2009 16:15]
Frazer Clement
Bug can be exposed by testBlobs -skip p -bug 45768. Results in excessive ndbd Cpu consumption due to infinite CPU loop.
[27 Oct 2009 10:22]
Frazer Clement
http://lists.mysql.com/commits/88221 Pushed to 6.2.19 6.3.28 7.0.9 7.1.0
[28 Oct 2009 19:47]
Jon Stephens
Hi Frazer, Is this something that could be triggered only by an NDBAPI application? If not, could you give me example of a situation where this issue might come up? Thanks!
[28 Oct 2009 20:19]
Frazer Clement
The original problem was noticed while testing the fix to bug#41674. Any case where there's a kernel triggered abort of bulk DML with Blobs (e.g ALTER TABLE runs out of space, bulk insert runs out of space/hits a duplicate key error).