Below is the list of changes that have just been committed into a local
5.0 repository of msvensson. When msvensson does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-11-01 11:33:35+01:00, msvensson@stripped +2 -0
Bug#32023 ndb_mgmd is slow to repsond when no nodes are up
ndb/src/mgmsrv/Services.cpp@stripped, 2007-11-01 11:33:32+01:00, msvensson@stripped
+1 -1
Only call 'updateStatus'(and forcing HB) once before printing
node status
ndb/src/ndbapi/ClusterMgr.cpp@stripped, 2007-11-01 11:33:32+01:00, msvensson@stripped
+4 -1
Only wait for reply to forced API_REGREQ if any signals
has been sent
diff -Nrup a/ndb/src/mgmsrv/Services.cpp b/ndb/src/mgmsrv/Services.cpp
--- a/ndb/src/mgmsrv/Services.cpp 2007-02-22 19:33:58 +01:00
+++ b/ndb/src/mgmsrv/Services.cpp 2007-11-01 11:33:32 +01:00
@@ -923,7 +923,6 @@ printNodeStatus(OutputStream *output,
MgmtSrvr &mgmsrv,
enum ndb_mgm_node_type type) {
NodeId nodeId = 0;
- mgmsrv.updateStatus();
while(mgmsrv.getNextNodeId(&nodeId, type)) {
enum ndb_mgm_node_status status;
Uint32 startPhase = 0,
@@ -972,6 +971,7 @@ MgmApiSession::getStatus(Parser<MgmApiSe
m_output->println("node status");
m_output->println("nodes: %d", noOfNodes);
+ m_mgmsrv.updateStatus();
printNodeStatus(m_output, m_mgmsrv, NDB_MGM_NODE_TYPE_NDB);
printNodeStatus(m_output, m_mgmsrv, NDB_MGM_NODE_TYPE_MGM);
printNodeStatus(m_output, m_mgmsrv, NDB_MGM_NODE_TYPE_API);
diff -Nrup a/ndb/src/ndbapi/ClusterMgr.cpp b/ndb/src/ndbapi/ClusterMgr.cpp
--- a/ndb/src/ndbapi/ClusterMgr.cpp 2007-05-09 15:02:59 +02:00
+++ b/ndb/src/ndbapi/ClusterMgr.cpp 2007-11-01 11:33:32 +01:00
@@ -222,7 +222,10 @@ ClusterMgr::forceHB()
theFacade.sendSignalUnCond(&signal, nodeId);
}
- NdbCondition_WaitTimeout(waitForHBCond, theFacade.theMutexPtr, 1000);
+ /* Wait for nodes to reply - if any heartbeats was sent */
+ if (!waitForHBFromNodes.isclear())
+ NdbCondition_WaitTimeout(waitForHBCond, theFacade.theMutexPtr, 1000);
+
waitingForHB= false;
#ifdef DEBUG_REG
ndbout << "Still waiting for HB from " << waitForHBFromNodes.getText(buf)
<< endl;
| Thread |
|---|
| • bk commit into 5.0 tree (msvensson:1.2540) BUG#32023 | msvensson | 1 Nov |