BUG#11516 ndb_mgmd debug core on cluster shutdown with failed data nodes

Fix closing of sessions on mgm server shutdown.


ndb/include/mgmcommon/ConfigRetriever.hpp:
  Add disconnect();
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Add disconnect() call so we can disconnect from the mgm server before it shuts down
  (if we are a mgm server).
ndb/src/mgmsrv/main.cpp:
  Close our ConfigRetriever connection first.
  
  Stop sessions, and wait for them to stop. (previously we didn't wait, this was
  causing core dumps on shutdown with failed nodes).
This commit is contained in:
unknown 2005-07-07 15:19:56 +10:00
commit ab0e8f2e12
3 changed files with 9 additions and 1 deletions

View file

@ -32,6 +32,7 @@ public:
~ConfigRetriever();
int do_connect(int no_retries, int retry_delay_in_seconds, int verbose);
int disconnect();
/**
* Get configuration for current node.

View file

@ -107,6 +107,12 @@ ConfigRetriever::do_connect(int no_retries,
0 : -1;
}
int
ConfigRetriever::disconnect()
{
return ndb_mgm_disconnect(m_handle);
}
//****************************************************************************
//****************************************************************************
//****************************************************************************

View file

@ -353,7 +353,8 @@ int main(int argc, char** argv)
g_eventLogger.info("Shutting down server...");
glob.socketServer->stopServer();
glob.socketServer->stopSessions();
glob.mgmObject->get_config_retriever()->disconnect();
glob.socketServer->stopSessions(true);
g_eventLogger.info("Shutdown complete");
return 0;
error_end: