Commit faa6c59e authored by tomas@mc05.(none)'s avatar tomas@mc05.(none)

fixed bug in ndb_waiter

parent 3327c6c0
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <NdbSleep.h> #include <NdbSleep.h>
#include <getarg.h> #include <getarg.h>
#include <kernel/ndb_limits.h> #include <kernel/ndb_limits.h>
#include "../src/common/mgmcommon/LocalConfig.hpp"
#include <NDBT.hpp> #include <NDBT.hpp>
...@@ -47,9 +48,43 @@ int main(int argc, const char** argv){ ...@@ -47,9 +48,43 @@ int main(int argc, const char** argv){
arg_printusage(args, num_args, argv[0], desc); arg_printusage(args, num_args, argv[0], desc);
return NDBT_ProgramExit(NDBT_WRONGARGS); return NDBT_ProgramExit(NDBT_WRONGARGS);
} }
char buf[255];
_hostName = argv[optind]; _hostName = argv[optind];
// NdbRestarter restarter(_hostName); if (_hostName == NULL){
LocalConfig lcfg;
if(!lcfg.init())
{
lcfg.printError();
lcfg.printUsage();
g_err << "Error parsing local config file" << endl;
return NDBT_ProgramExit(NDBT_FAILED);
}
for (int i = 0; i<lcfg.items; i++)
{
MgmtSrvrId * m = lcfg.ids[i];
switch(m->type){
case MgmId_TCP:
snprintf(buf, 255, "%s:%d", m->data.tcp.remoteHost, m->data.tcp.port);
_hostName = buf;
break;
case MgmId_File:
break;
default:
break;
}
if (_hostName != NULL)
break;
}
if (_hostName == NULL)
{
g_err << "No management servers configured in local config file" << endl;
return NDBT_ProgramExit(NDBT_FAILED);
}
}
if (waitClusterStarted(_hostName) != 0) if (waitClusterStarted(_hostName) != 0)
return NDBT_ProgramExit(NDBT_FAILED); return NDBT_ProgramExit(NDBT_FAILED);
...@@ -137,15 +172,6 @@ waitClusterStarted(const char* _addr, unsigned int _timeout) ...@@ -137,15 +172,6 @@ waitClusterStarted(const char* _addr, unsigned int _timeout)
int _nodes[MAX_NDB_NODES]; int _nodes[MAX_NDB_NODES];
int _num_nodes = 0; int _num_nodes = 0;
if (getStatus() != 0)
return -1;
// Collect all nodes into nodes
for (size_t i = 0; i < ndbNodes.size(); i++){
_nodes[i] = ndbNodes[i].node_id;
_num_nodes++;
}
handle = ndb_mgm_create_handle(); handle = ndb_mgm_create_handle();
if (handle == NULL){ if (handle == NULL){
g_err << "handle == NULL" << endl; g_err << "handle == NULL" << endl;
...@@ -158,6 +184,15 @@ waitClusterStarted(const char* _addr, unsigned int _timeout) ...@@ -158,6 +184,15 @@ waitClusterStarted(const char* _addr, unsigned int _timeout)
return -1; return -1;
} }
if (getStatus() != 0)
return -1;
// Collect all nodes into nodes
for (size_t i = 0; i < ndbNodes.size(); i++){
_nodes[i] = ndbNodes[i].node_id;
_num_nodes++;
}
unsigned int attempts = 0; unsigned int attempts = 0;
unsigned int resetAttempts = 0; unsigned int resetAttempts = 0;
const unsigned int MAX_RESET_ATTEMPTS = 10; const unsigned int MAX_RESET_ATTEMPTS = 10;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment