You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-09-02 12:41:17 +03:00
MCOL-814 - amazon chnages for failover and query testing
This commit is contained in:
@@ -90,7 +90,7 @@ start() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
#checkInstallSetup
|
checkInstallSetup
|
||||||
|
|
||||||
CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Columnstore.xml Installation CoreFileFlag`
|
CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Columnstore.xml Installation CoreFileFlag`
|
||||||
if [ $CoreFileFlag = "y" ]; then
|
if [ $CoreFileFlag = "y" ]; then
|
||||||
|
@@ -4886,7 +4886,7 @@ bool copyFstab(string moduleName)
|
|||||||
if ( rootUser)
|
if ( rootUser)
|
||||||
cmd = "/bin/cp -f /etc/fstab " + installDir + "/local/etc/" + moduleName + "/. > /dev/null 2>&1";
|
cmd = "/bin/cp -f /etc/fstab " + installDir + "/local/etc/" + moduleName + "/. > /dev/null 2>&1";
|
||||||
else
|
else
|
||||||
cmd = "/sudo bin/cp -f /etc/fstab " + installDir + "/local/etc/" + moduleName + "/. > /dev/null 2>&1";
|
cmd = "sudo /bin/cp -f /etc/fstab " + installDir + "/local/etc/" + moduleName + "/. > /dev/null 2>&1";
|
||||||
|
|
||||||
system(cmd.c_str());
|
system(cmd.c_str());
|
||||||
|
|
||||||
|
@@ -1261,6 +1261,9 @@ void pingDeviceThread()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
//set query system state not ready
|
//set query system state not ready
|
||||||
|
BRM::DBRM dbrm;
|
||||||
|
dbrm.setSystemQueryReady(false);
|
||||||
|
|
||||||
processManager.setQuerySystemState(false);
|
processManager.setQuerySystemState(false);
|
||||||
|
|
||||||
processManager.setSystemState(oam::BUSY_INIT);
|
processManager.setSystemState(oam::BUSY_INIT);
|
||||||
@@ -1276,9 +1279,6 @@ void pingDeviceThread()
|
|||||||
//send notification
|
//send notification
|
||||||
oam.sendDeviceNotification(config.moduleName(), MODULE_UP);
|
oam.sendDeviceNotification(config.moduleName(), MODULE_UP);
|
||||||
|
|
||||||
//set module to enable state
|
|
||||||
processManager.enableModule(moduleName, oam::AUTO_OFFLINE);
|
|
||||||
|
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
// if shared pm, move dbroots back to pm
|
// if shared pm, move dbroots back to pm
|
||||||
@@ -1289,6 +1289,9 @@ void pingDeviceThread()
|
|||||||
//restart to get the versionbuffer files closed so it can be unmounted
|
//restart to get the versionbuffer files closed so it can be unmounted
|
||||||
processManager.restartProcessType("WriteEngineServer", moduleName);
|
processManager.restartProcessType("WriteEngineServer", moduleName);
|
||||||
|
|
||||||
|
//set module to enable state
|
||||||
|
processManager.enableModule(moduleName, oam::AUTO_OFFLINE);
|
||||||
|
|
||||||
downActiveOAMModule = false;
|
downActiveOAMModule = false;
|
||||||
int retry;
|
int retry;
|
||||||
for ( retry = 0 ; retry < 5 ; retry++ )
|
for ( retry = 0 ; retry < 5 ; retry++ )
|
||||||
@@ -1380,6 +1383,9 @@ void pingDeviceThread()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
//set module to enable state
|
||||||
|
processManager.enableModule(moduleName, oam::AUTO_OFFLINE);
|
||||||
|
|
||||||
//restart module processes
|
//restart module processes
|
||||||
int retry = 0;
|
int retry = 0;
|
||||||
@@ -1480,14 +1486,6 @@ void pingDeviceThread()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//call dbrm control, need to resume before start so the getdbrmfiles halt doesn't hang
|
|
||||||
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);
|
|
||||||
|
|
||||||
// next, startmodule
|
// next, startmodule
|
||||||
status = processManager.startModule(moduleName, oam::FORCEFUL, oam::AUTO_OFFLINE);
|
status = processManager.startModule(moduleName, oam::FORCEFUL, oam::AUTO_OFFLINE);
|
||||||
if ( status == oam::API_SUCCESS )
|
if ( status == oam::API_SUCCESS )
|
||||||
@@ -1502,6 +1500,14 @@ void pingDeviceThread()
|
|||||||
if ( retry < ModuleProcMonWaitCount )
|
if ( retry < ModuleProcMonWaitCount )
|
||||||
{ // module successfully started
|
{ // module successfully started
|
||||||
|
|
||||||
|
//call dbrm control, need to resume before start so the getdbrmfiles halt doesn't hang
|
||||||
|
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);
|
||||||
|
|
||||||
//distribute config file
|
//distribute config file
|
||||||
processManager.distributeConfigFile("system");
|
processManager.distributeConfigFile("system");
|
||||||
sleep(1);
|
sleep(1);
|
||||||
@@ -1543,6 +1549,9 @@ void pingDeviceThread()
|
|||||||
processManager.restartProcessType("DMLProc", moduleName);
|
processManager.restartProcessType("DMLProc", moduleName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//enable query stats
|
||||||
|
dbrm.setSystemQueryReady(true);
|
||||||
|
|
||||||
//set query system state ready
|
//set query system state ready
|
||||||
processManager.setQuerySystemState(true);
|
processManager.setQuerySystemState(true);
|
||||||
|
|
||||||
@@ -1600,6 +1609,9 @@ void pingDeviceThread()
|
|||||||
else
|
else
|
||||||
processManager.setSystemState(oam::ACTIVE);
|
processManager.setSystemState(oam::ACTIVE);
|
||||||
|
|
||||||
|
//enable query stats
|
||||||
|
dbrm.setSystemQueryReady(true);
|
||||||
|
|
||||||
//set query system state ready
|
//set query system state ready
|
||||||
processManager.setQuerySystemState(true);
|
processManager.setQuerySystemState(true);
|
||||||
|
|
||||||
@@ -1638,8 +1650,13 @@ void pingDeviceThread()
|
|||||||
log.writeLog(__LINE__, "module is down: " + moduleName, LOG_TYPE_CRITICAL);
|
log.writeLog(__LINE__, "module is down: " + moduleName, LOG_TYPE_CRITICAL);
|
||||||
|
|
||||||
//set query system state not ready
|
//set query system state not ready
|
||||||
|
BRM::DBRM dbrm;
|
||||||
|
dbrm.setSystemQueryReady(false);
|
||||||
|
|
||||||
processManager.setQuerySystemState(false);
|
processManager.setQuerySystemState(false);
|
||||||
|
|
||||||
|
processManager.setSystemState(oam::BUSY_INIT);
|
||||||
|
|
||||||
processManager.reinitProcessType("cpimport");
|
processManager.reinitProcessType("cpimport");
|
||||||
|
|
||||||
// halt the dbrm
|
// halt the dbrm
|
||||||
@@ -1888,6 +1905,9 @@ void pingDeviceThread()
|
|||||||
//set recycle process
|
//set recycle process
|
||||||
processManager.recycleProcess(moduleName);
|
processManager.recycleProcess(moduleName);
|
||||||
|
|
||||||
|
//enable query stats
|
||||||
|
dbrm.setSystemQueryReady(true);
|
||||||
|
|
||||||
//set query system state ready
|
//set query system state ready
|
||||||
processManager.setQuerySystemState(true);
|
processManager.setQuerySystemState(true);
|
||||||
|
|
||||||
@@ -1902,6 +1922,9 @@ void pingDeviceThread()
|
|||||||
oam.dbrmctl("resume");
|
oam.dbrmctl("resume");
|
||||||
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
|
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
|
//enable query stats
|
||||||
|
dbrm.setSystemQueryReady(true);
|
||||||
|
|
||||||
//set query system state ready
|
//set query system state ready
|
||||||
processManager.setQuerySystemState(true);
|
processManager.setQuerySystemState(true);
|
||||||
}
|
}
|
||||||
@@ -1915,6 +1938,9 @@ void pingDeviceThread()
|
|||||||
//set recycle process
|
//set recycle process
|
||||||
processManager.recycleProcess(moduleName);
|
processManager.recycleProcess(moduleName);
|
||||||
|
|
||||||
|
//enable query stats
|
||||||
|
dbrm.setSystemQueryReady(true);
|
||||||
|
|
||||||
//set query system state ready
|
//set query system state ready
|
||||||
processManager.setQuerySystemState(true);
|
processManager.setQuerySystemState(true);
|
||||||
|
|
||||||
|
@@ -2945,15 +2945,8 @@ void processMSG(messageqcpp::IOSocket* cfIos)
|
|||||||
|
|
||||||
msg >> moduleName;
|
msg >> moduleName;
|
||||||
|
|
||||||
oam.dbrmctl("halt");
|
|
||||||
log.writeLog(__LINE__, "'dbrmctl halt' done", LOG_TYPE_DEBUG);
|
|
||||||
|
|
||||||
int ret = processManager.getDBRMData(fIos, moduleName);
|
int ret = processManager.getDBRMData(fIos, moduleName);
|
||||||
|
|
||||||
oam.dbrmctl("resume");
|
|
||||||
log.writeLog(__LINE__, "'dbrmctl resume' done", LOG_TYPE_DEBUG);
|
|
||||||
|
|
||||||
|
|
||||||
if ( ret == oam::API_SUCCESS )
|
if ( ret == oam::API_SUCCESS )
|
||||||
log.writeLog(__LINE__, "Get DBRM Data Files Completed");
|
log.writeLog(__LINE__, "Get DBRM Data Files Completed");
|
||||||
else
|
else
|
||||||
|
@@ -594,7 +594,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
log.writeLog(__LINE__, "START: process already active " + processName);
|
log.writeLog(__LINE__, "START: process already active " + processName);
|
||||||
|
|
||||||
//Inform Process Manager that Process restart
|
//Inform Process Manager that Process restart
|
||||||
processRestarted(processName);
|
//processRestarted(processName);
|
||||||
|
|
||||||
ackMsg << (ByteStream::byte) ACK;
|
ackMsg << (ByteStream::byte) ACK;
|
||||||
ackMsg << (ByteStream::byte) START;
|
ackMsg << (ByteStream::byte) START;
|
||||||
@@ -693,7 +693,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Inform Process Manager that Process restart
|
//Inform Process Manager that Process restart
|
||||||
processRestarted(processName);
|
//processRestarted(processName);
|
||||||
|
|
||||||
ackMsg << (ByteStream::byte) ACK;
|
ackMsg << (ByteStream::byte) ACK;
|
||||||
ackMsg << (ByteStream::byte) RESTART;
|
ackMsg << (ByteStream::byte) RESTART;
|
||||||
|
Reference in New Issue
Block a user