Bug #18591 Repeated "show" and "all status" calls to ndb_mgm causes mgmd to crash

- not having lock can cause "block number list" to become corrupt => crash
- also may result in 2 threads receiving same block no => possble cause of
Bug #13987 Cluster: Loss of data nodes can cause high CPU usage from ndb_mgmd
This commit is contained in:
tomas@poseidon.ndb.mysql.com 2006-05-16 11:47:33 +02:00
parent b592d872ec
commit 3559bdb7b6
2 changed files with 3 additions and 0 deletions

View File

@ -2107,6 +2107,7 @@ int
MgmtSrvr::abortBackup(Uint32 backupId)
{
SignalSender ss(theFacade);
ss.lock(); // lock will be released on exit
bool next;
NodeId nodeId = 0;

View File

@ -75,7 +75,9 @@ SignalSender::SignalSender(TransporterFacade *facade)
{
m_cond = NdbCondition_Create();
theFacade = facade;
lock();
m_blockNo = theFacade->open(this, execSignal, execNodeStatus);
unlock();
assert(m_blockNo > 0);
}