Bug #55151 ndb_error_reporter returns error if ndb_config not in the path
Submitted: 10 Jul 2010 7:24 Modified: 23 Sep 2013 6:02
Reporter: Sveta Smirnova Email Updates:
Status: Duplicate 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: CPU Architecture:Any

[10 Jul 2010 7:24] Sveta Smirnova
Description:
ndb_error_reporter fails if ndb_config not in the path with following error:

$$BASEDIR/bin/ndb_error_reporter etc/ndb_mgmd.cfg 
Can't exec "./ndb_config": No such file or directory at /users/ssmirnova/blade12/build/mysql-5.1-telco-7.0//bin/ndb_error_reporter line 33.
Use of uninitialized value in split at /users/ssmirnova/blade12/build/mysql-5.1-telco-7.0//bin/ndb_error_reporter line 33.
Can't exec "./ndb_config": No such file or directory at /users/ssmirnova/blade12/build/mysql-5.1-telco-7.0//bin/ndb_error_reporter line 35.
Use of uninitialized value in split at /users/ssmirnova/blade12/build/mysql-5.1-telco-7.0//bin/ndb_error_reporter line 35.

 Copying configuration file...

        etc/ndb_mgmd.cfg

Please attach ndb_error_report_20100710085923.tar.bz2 to your error report

ndb_error_report is not complete of course 

How to repeat:
See description

Suggested fix:
$diff ~/blade12/src/mysql-5.1-telco-7.0/storage/ndb/tools/ndb_error_reporter $BASEDIR/bin/ndb_error_reporter -u
--- /users/ssmirnova/blade12/src/mysql-5.1-telco-7.0/storage/ndb/tools/ndb_error_reporter       2010-06-29 15:09:39.000000000 +0200
+++ /users/ssmirnova/blade12/build/mysql-5.1-telco-7.0//bin/ndb_error_reporter  2010-07-10 09:07:30.000000000 +0200
@@ -30,14 +30,17 @@
     exit(1);
 }
 
-my @nodes= split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndbd`;
+$0=~/^(.+[\\\/])[^\\\/]+[\\\/]*$/;
+my $basedir= $1 || "./";
 
-push @nodes, split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndb_mgmd`;
+my @nodes= split ' ',`$basedir/ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndbd`;
+
+push @nodes, split ' ',`$basedir/ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndb_mgmd`;
 
 sub config {
     my $nodeid= shift;
     my $query= shift;
-    my $res= `ndb_config --config-file=$ARGV[0] --id=$nodeid --query=$query`;
+    my $res= `$basedir/ndb_config --config-file=$ARGV[0] --id=$nodeid --query=$query`;
     chomp $res;
     $res;
 }