1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-11-25 20:23:16 +03:00

MCOL-916: Fix for failovers when dbroots cannot be simply swapped between standby and parent modules. MCOL-913: Prevent distribute config file logging errors. MCOL-915 Improve mcsadmin output for removeModule command when using DataRedundancy. MCOL-928: fix for postConfigure not detecting gluster is installed in Debain9.1.

This commit is contained in:
Ben Thompson
2017-10-13 17:12:52 -05:00
parent cad14d2111
commit 5e367098a9
4 changed files with 483 additions and 437 deletions

View File

@@ -8307,7 +8307,7 @@ int ProcessManager::distributeConfigFile(std::string name, std::string file)
}
catch(...)
{}
if (opState == oam::AUTO_DISABLED)
continue;
@@ -8321,7 +8321,7 @@ int ProcessManager::distributeConfigFile(std::string name, std::string file)
else
{
//log the error event
log.writeLog(__LINE__, (*pt).DeviceName + " distributeConfigFile failed!!", LOG_TYPE_ERROR);
log.writeLog(__LINE__, (*pt).DeviceName + " distributeConfigFile failed!!", LOG_TYPE_DEBUG);
}
}
}
@@ -8338,7 +8338,7 @@ int ProcessManager::distributeConfigFile(std::string name, std::string file)
else
{
//log the error event
log.writeLog(__LINE__, name + " distributeConfigFile failed!!", LOG_TYPE_ERROR);
log.writeLog(__LINE__, name + " distributeConfigFile failed!!", LOG_TYPE_DEBUG);
}
}
@@ -8653,21 +8653,29 @@ int ProcessManager::switchParentOAMModule(std::string newActiveModuleName)
//move a newparent dbroot to old parent for balancing
DBRootConfigList residedbrootConfigList;
bool doDBRootMove = true;
try
{
oam.getPmDbrootConfig(moduleID, residedbrootConfigList);
if ( residedbrootConfigList.size() > 0 )
{
DBRootConfigList::iterator pt = residedbrootConfigList.begin();
try {
oam.manualMovePmDbroot(newActiveModuleName, oam.itoa(*pt), config.OAMParentName());
}
catch (...)
if (*pt != 1)
{
log.writeLog(__LINE__, "ERROR: manualMovePmDbroot Failed", LOG_TYPE_ERROR);
pthread_mutex_unlock(&THREAD_LOCK);
return API_FAILURE;
try {
oam.manualMovePmDbroot(newActiveModuleName, oam.itoa(*pt), config.OAMParentName());
}
catch (...)
{
log.writeLog(__LINE__, "ERROR: manualMovePmDbroot Failed", LOG_TYPE_ERROR);
pthread_mutex_unlock(&THREAD_LOCK);
return API_FAILURE;
}
}
else
{
doDBRootMove = false;
}
}
}
@@ -8679,16 +8687,18 @@ int ProcessManager::switchParentOAMModule(std::string newActiveModuleName)
}
//move dbroot #1 to new parent
try {
oam.manualMovePmDbroot(config.OAMParentName(), "1", newActiveModuleName);
}
catch (...)
if (doDBRootMove)
{
log.writeLog(__LINE__, "ERROR: manualMovePmDbroot Failed", LOG_TYPE_ERROR);
pthread_mutex_unlock(&THREAD_LOCK);
return API_FAILURE;
try {
oam.manualMovePmDbroot(config.OAMParentName(), "1", newActiveModuleName);
}
catch (...)
{
log.writeLog(__LINE__, "ERROR: manualMovePmDbroot Failed", LOG_TYPE_ERROR);
pthread_mutex_unlock(&THREAD_LOCK);
return API_FAILURE;
}
}
Config* sysConfig4 = Config::makeConfig();
// get new Active address