Bug #51434 ndb_restore should error if hashmap creation fails
Submitted: 23 Feb 2010 22:08 Modified: 6 May 2010 13:04
Reporter: Andrew Hutchings Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:7.0 OS:Any
Assigned to: Andrew Hutchings CPU Architecture:Any
Tags: Contribution

[23 Feb 2010 22:08] Andrew Hutchings
Description:
In consumer_restore.cpp:

    if (m_restore_meta)
    {
      int ret = dict->createHashMap(old);
      if (ret == 0)
      {
        info << "Created hashmap: " << old.getName() << endl;
      }
    }

So if the hashmap creation failed execution would continue and the error condition will be lost.

How to repeat:
.

Suggested fix:
Add the following to the end of the 'if':

} else {
  NdbError errobj = dict->getNdbError();
  err << "Could not create HashMap \""<< old.getName() << "\": "
      << errobj << endl;
  return false;
}
[23 Feb 2010 23:34] 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/101267

3428 Andrew Hutchings	2010-02-23
      Bug #51434  	ndb_restore should error if hashmap creation fails
      
      Now handles errors if hashmap creation fails (intentionally ignores schema exists).
[3 May 2010 11:02] Jonas Oreland
Hi Andrew,

this patch is approved, do you need help to push it into a 7.0 version ?

/Jonas
[6 May 2010 12:35] 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/107640

3526 Jonas Oreland	2010-05-06
      Bug #51434  ndb_restore should error if hashmap creation fails
            
            Now handles errors if hashmap creation fails (intentionally ignores schema exists).
      From Andrew Hutchings
[6 May 2010 12:37] Jonas Oreland
pushed to 7.0.15 and 7.1.4
[6 May 2010 12:37] 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/107645

3526 Martin Skold	2010-05-06 [merge]
      Merge
      modified:
        storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
        storage/ndb/tools/restore/consumer_restore.cpp
[6 May 2010 13:04] Jon Stephens
Documented in the NDB-7.0.15 and 7.1.4 changelogs as follows:

      ndb_restore did not raise any errors if hashmap creation failed 
      during execution.

Closed.