Bug #43236 ndb_use_transactions is ignored in 6.4.3
Submitted: 26 Feb 2009 16:11 Modified: 15 Apr 2009 1:39
Reporter: Andrew Hutchings 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.4, ->3, MySQL Cluster 7.0.4 OS:Any
Assigned to: Frazer Clement CPU Architecture:Any
Triage: Triaged: D2 (Serious)

[26 Feb 2009 16:11] Andrew Hutchings
Description:
set ndb_use_transactions=0; is ignored in 6.4.3, works fine in 6.3.20.

How to repeat:
create table t1 (a int);
create table t2 (a int) engine=ndb;
// insert 100,000 rows into t1
set ndb_use_transactions=0;
insert into t2 select * from t1;

ERROR 1297 (HY000): Got temporary error 233 'Out of operation records in transaction coordinator (increase MaxNoOfConcurrentOperations)' from NDBCLUSTER
[2 Apr 2009 6:36] Mikiya Okuno
I encountered a similar problem on MySQL Cluster 7.0.4. When altering a large table from MyISAM to NDB, the same error happened. I can alter the same table from MyISAM to NDB on 6.3.23 without any problem. The table has approx 1.5M rows, generated by DBT-2 benchmark with 5 warehouses.
[3 Apr 2009 17:21] Frazer Clement
Proposed patch

Attachment: bug43236.patch (text/x-patch), 4.36 KiB.

[3 Apr 2009 17:24] Frazer Clement
Patch adds option checking call to two new startTransaction() calling paths in 7.0 ha_ndbcluster.
Testcase added that should verify that this functionality works, as long as the number of rows inserted is >= the MaxNoOfConcurrentOperations for the cluster being tested.

CREATE TABLE ... AS SELECT also tested.
ALTER TABLE ... ENGINE=NDB also tested.
[3 Apr 2009 17:46] Jonas Oreland
possibly also add check for alter table
[3 Apr 2009 17:46] Jonas Oreland
and also btw, maybe add the testcase to 6.3 aswell,
so we don't accidently break it there...
[6 Apr 2009 10:38] 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/71435

2929 Frazer Clement	2009-04-06
      Bug#43236 : ndb_use_transactions is ignored in 6.4.3.  Testcases added to 6.3 + and fix added to 6.4
      modified:
        mysql-test/suite/ndb/r/ndb_load.result
        mysql-test/suite/ndb/t/ndb_load.test
[6 Apr 2009 10:47] 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/71437

2879 Frazer Clement	2009-04-06 [merge]
      Merge 6.3->7.0.  Add fix for bug#43236
      modified:
        mysql-test/suite/ndb/r/ndb_load.result
        mysql-test/suite/ndb/t/ndb_load.test
        sql/ha_ndbcluster.cc
[6 Apr 2009 10:54] Bugs System
Pushed into 5.1.32-ndb-7.0.5 (revid:frazer@mysql.com-20090406104656-1qm4438ga4akrrob) (version source revid:frazer@mysql.com-20090406104656-1qm4438ga4akrrob) (merge vers: 5.1.32-ndb-7.0.5) (pib:6)
[6 Apr 2009 10:55] Bugs System
Pushed into 5.1.32-ndb-6.3.25 (revid:frazer@mysql.com-20090406103755-5mxf854inxldconw) (version source revid:frazer@mysql.com-20090406103755-5mxf854inxldconw) (merge vers: 5.1.32-ndb-6.3.25) (pib:6)
[15 Apr 2009 1:39] Jon Stephens
Documented bugfix in the NDB-7.0.5 changelog as follows:

        The setting for ndb_use_transactions was ignored. This issue was 
        only known to occur in MySQL Cluster NDB 6.4.3 and MySQL Cluster 
        NDB 7.0.4.

Did not add a changelog entry for NDB-6.3.25 since only test case was pushed to 6.3 tree and actual issue was not found there.