Commit 976deafb authored by unknown's avatar unknown
Browse files

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


ndb/src/mgmsrv/MgmtSrvr.cpp:
  ndb: added missing lock of mutex
parent 9f46b3b5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
+2 −0
Original line number Diff line number Diff line
@@ -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);
}