Bug #52201 Ndb : Insert hitting DD space exhaustion gives incorrect error message - part II
Submitted: 19 Mar 2010 8:06 Modified: 29 Mar 2010 8:15
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-6.3 OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[19 Mar 2010 8:06] Jonas Oreland
Description:
This is a follow up bug to http://bugs.mysql.com/bug.php/48113

The symptoms are the same, i.e getting error message "no such tuple"
when should be getting "Out extents, tablespace full"

However, the cause it not the same.
This is due to when receiving TUPKEYREF, ACC_ABORTCONF is sometimes
returned via job-buffer, making it possible for LQHKEYREQ to get inbetween
and find the "no such tuple".

How to repeat:
run testcase: testBasic -n DDInsertFailUpdateBatch

Suggested fix:
Solution is to: When getting TUPKEYREF make sure that ACC_ABORTCONF is direct
(and we can be sure that this is ok, as we must have ACC-LOCK in order to run TUPKEYREQ)
[19 Mar 2010 8:08] Jonas Oreland
NOTE: autotest gets it every now and then, but I failed to get it locally.
Therefor I did the following:
1) run mixed ndbd/ndbmtd
2) insert a "globalTransporterRegistry.performSend()" in ndbd, after sending LQHKEYREQ

This made the problem somewhat repeatable
[19 Mar 2010 8:16] 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/103761

3156 Jonas Oreland	2010-03-19
      ndb - bug#52201 - make sure that ACC_ABORTREQ runs with canBlock=0 in execTUPKEYREF
[19 Mar 2010 11:18] Jonas Oreland
pushed to 6.3.33, 7.0.14 and 7.1.3
[29 Mar 2010 7:29] Jon Stephens
Documented bugfix in the NDB-6.3.33, 7.0.14, and 7.1.3 changelogs, as follows:

      Inserts of blob column values into a Disk Data table that exhausted the
      tablespace resulted in misleading -no such tuple- error messages rather than 
      the expected error -tablespace full-.

      This issue appeared similar to Bug#48113, but had a different underlying
      cause.

Closed.
[29 Mar 2010 8:15] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html