Commit ce450e50 authored by unknown's avatar unknown

Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1

into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0


ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
parents 4a8c5085 40d687eb
...@@ -122,41 +122,50 @@ MgmtSrvr::logLevelThreadRun() ...@@ -122,41 +122,50 @@ MgmtSrvr::logLevelThreadRun()
/** /**
* Handle started nodes * Handle started nodes
*/ */
EventSubscribeReq req;
req = m_event_listner[0].m_logLevel;
req.blockRef = _ownReference;
SetLogLevelOrd ord;
m_started_nodes.lock(); m_started_nodes.lock();
while(m_started_nodes.size() > 0){ if (m_started_nodes.size() > 0)
Uint32 node = m_started_nodes[0]; {
m_started_nodes.erase(0, false); // calculate max log level
m_started_nodes.unlock(); EventSubscribeReq req;
{
LogLevel tmp;
m_event_listner.lock();
for(int i = m_event_listner.m_clients.size() - 1; i >= 0; i--)
tmp.set_max(m_event_listner[i].m_logLevel);
m_event_listner.unlock();
req = tmp;
}
req.blockRef = _ownReference;
while (m_started_nodes.size() > 0)
{
Uint32 node = m_started_nodes[0];
m_started_nodes.erase(0, false);
m_started_nodes.unlock();
setEventReportingLevelImpl(node, req); setEventReportingLevelImpl(node, req);
ord = m_nodeLogLevel[node]; SetLogLevelOrd ord;
setNodeLogLevelImpl(node, ord); ord = m_nodeLogLevel[node];
setNodeLogLevelImpl(node, ord);
m_started_nodes.lock();
} m_started_nodes.lock();
}
}
m_started_nodes.unlock(); m_started_nodes.unlock();
m_log_level_requests.lock(); m_log_level_requests.lock();
while(m_log_level_requests.size() > 0){ while (m_log_level_requests.size() > 0)
req = m_log_level_requests[0]; {
EventSubscribeReq req = m_log_level_requests[0];
m_log_level_requests.erase(0, false); m_log_level_requests.erase(0, false);
m_log_level_requests.unlock(); m_log_level_requests.unlock();
LogLevel tmp;
tmp = req;
if(req.blockRef == 0){ if(req.blockRef == 0){
req.blockRef = _ownReference; req.blockRef = _ownReference;
setEventReportingLevelImpl(0, req); setEventReportingLevelImpl(0, req);
} else { } else {
ord = req; SetLogLevelOrd ord;
ord = req;
setNodeLogLevelImpl(req.blockRef, ord); setNodeLogLevelImpl(req.blockRef, ord);
} }
m_log_level_requests.lock(); m_log_level_requests.lock();
...@@ -1521,7 +1530,7 @@ MgmtSrvr::setEventReportingLevelImpl(int nodeId, ...@@ -1521,7 +1530,7 @@ MgmtSrvr::setEventReportingLevelImpl(int nodeId,
{ {
if (nodeTypes[nodeId] != NODE_TYPE_DB) if (nodeTypes[nodeId] != NODE_TYPE_DB)
continue; continue;
if (okToSendTo(nodeId, false)) if (okToSendTo(nodeId, true))
continue; continue;
if (ss.sendSignal(nodeId, &ssig) == SEND_OK) if (ss.sendSignal(nodeId, &ssig) == SEND_OK)
{ {
......
...@@ -1321,13 +1321,12 @@ Ndb_mgmd_event_service::update_max_log_level(const LogLevel &log_level) ...@@ -1321,13 +1321,12 @@ Ndb_mgmd_event_service::update_max_log_level(const LogLevel &log_level)
void void
Ndb_mgmd_event_service::update_log_level(const LogLevel &tmp) Ndb_mgmd_event_service::update_log_level(const LogLevel &tmp)
{ {
if(!(tmp == m_logLevel)){ m_logLevel = tmp;
m_logLevel = tmp; EventSubscribeReq req;
EventSubscribeReq req; req = tmp;
req = tmp; // send update to all nodes
req.blockRef = 0; req.blockRef = 0;
m_mgmsrv->m_log_level_requests.push_back(req); m_mgmsrv->m_log_level_requests.push_back(req);
}
} }
void void
......
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