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.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.054 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.