summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-05-17 00:22:43 +0200
committerunknown <tomas@poseidon.ndb.mysql.com>2006-05-17 00:22:43 +0200
commita2f26487ff737228735c120d1a303dff2636a70e (patch)
tree8f566bf747bce640af403d3ccc26cf3946970200 /ndb
parent976deafba68897f6b5610f663e7ef8035f26a51f (diff)
downloadmariadb-git-a2f26487ff737228735c120d1a303dff2636a70e.tar.gz
ndb: added some missing error codes to mgmapi
ndb: ndb_waiter disconnect/reconnect on get status error ndb/src/mgmapi/mgmapi.cpp: ndb: added some missing error codes to mgmapi ndb/tools/waiter.cpp: ndb: ndb_waiter disconnect/reconnect on get status error
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/mgmapi/mgmapi.cpp3
-rw-r--r--ndb/tools/waiter.cpp6
2 files changed, 9 insertions, 0 deletions
diff --git a/ndb/src/mgmapi/mgmapi.cpp b/ndb/src/mgmapi/mgmapi.cpp
index 06b534ac0ca..fc9e5a20f4e 100644
--- a/ndb/src/mgmapi/mgmapi.cpp
+++ b/ndb/src/mgmapi/mgmapi.cpp
@@ -638,10 +638,12 @@ ndb_mgm_get_status(NdbMgmHandle handle)
Vector<BaseString> split;
tmp.split(split, ":");
if(split.size() != 2){
+ SET_ERROR(handle, NDB_MGM_ILLEGAL_NODE_STATUS, buf);
return NULL;
}
if(!(split[0].trim() == "nodes")){
+ SET_ERROR(handle, NDB_MGM_ILLEGAL_NODE_STATUS, buf);
return NULL;
}
@@ -690,6 +692,7 @@ ndb_mgm_get_status(NdbMgmHandle handle)
if(i+1 != noOfNodes){
free(state);
+ SET_ERROR(handle, NDB_MGM_ILLEGAL_NODE_STATUS, "Node count mismatch");
return NULL;
}
diff --git a/ndb/tools/waiter.cpp b/ndb/tools/waiter.cpp
index cc6a21428c8..9bd2befce15 100644
--- a/ndb/tools/waiter.cpp
+++ b/ndb/tools/waiter.cpp
@@ -129,6 +129,12 @@ getStatus(){
ndbout << "status==NULL, retries="<<retries<<endl;
MGMERR(handle);
retries++;
+ ndb_mgm_disconnect(handle);
+ if (ndb_mgm_connect(handle,0,0,1)) {
+ MGMERR(handle);
+ g_err << "Reconnect failed" << endl;
+ break;
+ }
continue;
}
int count = status->no_of_nodes;