1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-11-24 08:41:09 +03:00

MCOL-3842: Fix how processes are restarted in failover event.

This commit is contained in:
benthompson15
2020-04-03 12:35:11 -05:00
parent 89e3f6121b
commit 7c65d7fda0
3 changed files with 47 additions and 31 deletions

View File

@@ -2095,11 +2095,6 @@ void pingDeviceThread()
oam.dbrmctl("halt");
log.writeLog(__LINE__, "'dbrmctl halt' done", LOG_TYPE_DEBUG);
processManager.setSystemState(oam::BUSY_INIT);
//string cmd = "/etc/init.d/glusterd restart > /dev/null 2>&1";
//system(cmd.c_str());
//send notification
oam.sendDeviceNotification(moduleName, MODULE_DOWN);
@@ -2112,9 +2107,7 @@ void pingDeviceThread()
//set module to disable state
processManager.disableModule(moduleName, false);
//call dbrm control
oam.dbrmctl("reload");
log.writeLog(__LINE__, "'dbrmctl reload' done", LOG_TYPE_DEBUG);
// if pm, move dbroots to other pms
if ( ( moduleName.find("pm") == 0 && !amazon && ( DBRootStorageType != "internal") ) ||
@@ -2145,6 +2138,9 @@ void pingDeviceThread()
{
processManager.setModuleState(moduleName, oam::AUTO_DISABLED);
//call dbrm control
oam.dbrmctl("reload");
log.writeLog(__LINE__, "'dbrmctl reload' done", LOG_TYPE_DEBUG);
// resume the dbrm
oam.dbrmctl("resume");
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
@@ -2163,6 +2159,9 @@ void pingDeviceThread()
{
if ( moduleName.find("um") == 0 )
{
//call dbrm control
oam.dbrmctl("reload");
log.writeLog(__LINE__, "'dbrmctl reload' done", LOG_TYPE_DEBUG);
// resume the dbrm
oam.dbrmctl("resume");
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
@@ -2353,8 +2352,8 @@ void pingDeviceThread()
}
}
//set recycle process
processManager.recycleProcess(moduleName);
//set reinit process
processManager.reinitProcesses();
//set query system state ready
processManager.setQuerySystemState(true);
@@ -2368,6 +2367,9 @@ void pingDeviceThread()
( opState != oam::AUTO_DISABLED ) )
{
//call dbrm control
oam.dbrmctl("reload");
log.writeLog(__LINE__, "'dbrmctl reload' done", LOG_TYPE_DEBUG);
// resume the dbrm
oam.dbrmctl("resume");
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
@@ -2378,13 +2380,16 @@ void pingDeviceThread()
}
else
{
//call dbrm control
oam.dbrmctl("reload");
log.writeLog(__LINE__, "'dbrmctl reload' done", LOG_TYPE_DEBUG);
// non-amazon
// resume the dbrm
oam.dbrmctl("resume");
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
//set recycle process
processManager.recycleProcess(moduleName);
//set reinit process
processManager.reinitProcesses();
//set query system state ready
processManager.setQuerySystemState(true);