From: Date: November 23 2007 10:25am Subject: bk commit into 5.1 tree (tomas:1.2583) BUG#29621 List-Archive: http://lists.mysql.com/commits/38335 X-Bug: 29621 Message-Id: <20071123092524.A3EC9188C8919@linux.local> Below is the list of changes that have just been committed into a local 5.1 repository of tomas. When tomas 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-23 10:25:19+01:00, tomas@stripped +1 -0 Bug#29621 - ndb_mgmd can timeout logevent request, making it to fail storage/ndb/src/mgmsrv/MgmtSrvr.cpp@stripped, 2007-11-23 10:25:16+01:00, tomas@stripped +52 -30 Bug#29621 - ndb_mgmd can timeout logevent request, making it to fail diff -Nrup a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp --- a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2007-10-03 08:40:54 +02:00 +++ b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2007-11-23 10:25:16 +01:00 @@ -119,7 +119,11 @@ operator<<(NdbOut& out, const LogLevel & void MgmtSrvr::logLevelThreadRun() { - while (!_isStopThread) { + while (!_isStopThread) + { + Vector failed_started_nodes; + Vector failed_log_level_requests; + /** * Handle started nodes */ @@ -144,14 +148,15 @@ MgmtSrvr::logLevelThreadRun() m_started_nodes.unlock(); if (setEventReportingLevelImpl(node, req)) - { - ndbout_c("setEventReportingLevelImpl(%d): failed", node); - } - - SetLogLevelOrd ord; - ord = m_nodeLogLevel[node]; - setNodeLogLevelImpl(node, ord); - + { + failed_started_nodes.push_back(node); + } + else + { + SetLogLevelOrd ord; + ord = m_nodeLogLevel[node]; + setNodeLogLevelImpl(node, ord); + } m_started_nodes.lock(); } } @@ -166,17 +171,20 @@ MgmtSrvr::logLevelThreadRun() if(req.blockRef == 0) { - req.blockRef = _ownReference; - if (setEventReportingLevelImpl(0, req)) - { - ndbout_c("setEventReportingLevelImpl: failed 2!"); - } + req.blockRef = _ownReference; + if (setEventReportingLevelImpl(0, req)) + { + failed_log_level_requests.push_back(req); + } } else { SetLogLevelOrd ord; ord = req; - setNodeLogLevelImpl(req.blockRef, ord); + if (setNodeLogLevelImpl(req.blockRef, ord)) + { + failed_log_level_requests.push_back(req); + } } m_log_level_requests.lock(); } @@ -185,7 +193,28 @@ MgmtSrvr::logLevelThreadRun() if(!ERROR_INSERTED(10000)) m_event_listner.check_listeners(); - NdbSleep_MilliSleep(_logLevelThreadSleep); + Uint32 sleeptime = _logLevelThreadSleep; + if (failed_started_nodes.size()) + { + m_started_nodes.lock(); + for (Uint32 i = 0; i; template class MutexVector; template class MutexVector; +template class Vector; template class MutexVector;