Bug #48841 Ndb : DBUG_ASSERT after failure to begin schema trans in online alter table
Submitted: 17 Nov 2009 15:51 Modified: 5 Dec 2009 19:26
Reporter: Frazer Clement Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-7.0 OS:Any
Assigned to: Frazer Clement CPU Architecture:Any

[17 Nov 2009 15:51] Frazer Clement
Description:
Schema transactions around DDL operations were introduced in mysql-5.1-telco-7.0.

In some situations it is not possible for a MySQLD node to start a schema transaction.

In this error path, the current online table alter code in ha_ndbcluster.cc does not correctly indicate the error to the MySQLD server code.

In debug builds this results in an assertion failure (Diagnostics Area is unset).

How to repeat:
Perform online alter table in scenario where schema transaction cannot be started.

Suggested fix:
Add correct error handling to beginSchemaTrans() error path.
[17 Nov 2009 16:07] Frazer Clement
Proposed patch

Attachment: bug#48841.patch (text/x-patch), 433 bytes.

[18 Nov 2009 10:39] 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/90827

3237 Frazer Clement	2009-11-18
      Bug#48841 : Ndb : DBUG_ASSERT after failure to begin schema trans in online alter table
      modified:
        sql/ha_ndbcluster.cc
[23 Nov 2009 15:59] Frazer Clement
Pushed to 7.0.10, 7.1.0
[5 Dec 2009 19:26] Jon Stephens
Documented bugfix in the NDB-7.0.10 changelog as follows:

        In some situations, when it was not possible for an SQL node to
        start a schema transaction (necessary, for instance, as part of
        an online ALTER TABLE) NDBCLUSTER did not correctly indicate the
        error to the MySQL server, which led mysqld to crash.

Closed.