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

MCOL-1523 - addiiotnal fixes

This commit is contained in:
David Hill
2018-09-15 14:28:46 -05:00
parent 8be2e5bb4b
commit 3ac9d93597
4 changed files with 14 additions and 13 deletions

View File

@@ -7036,7 +7036,7 @@ int processCommand(string* arguments)
if (systemstatus.SystemOpState == oam::ACTIVE ) { if (systemstatus.SystemOpState == oam::ACTIVE ) {
try try
{ {
cout << endl << " Restarting System "; cout << endl << " Restarting System " << endl;
gracefulTemp = oam::FORCEFUL; gracefulTemp = oam::FORCEFUL;
int returnStatus = oam.restartSystem(gracefulTemp, ackTemp); int returnStatus = oam.restartSystem(gracefulTemp, ackTemp);
switch (returnStatus) switch (returnStatus)

View File

@@ -1637,7 +1637,7 @@ void processMSG(messageqcpp::IOSocket* cfIos)
{ {
log.writeLog(__LINE__, "Setup MySQL Replication for restartSystem FORCE", LOG_TYPE_DEBUG); log.writeLog(__LINE__, "Setup MySQL Replication for restartSystem FORCE", LOG_TYPE_DEBUG);
oam::DeviceNetworkList devicenetworklist; oam::DeviceNetworkList devicenetworklist;
processManager.setMySQLReplication(devicenetworklist); processManager.setMySQLReplication(devicenetworklist, oam::UnassignedName, true);
} }
log.writeLog(__LINE__, "RESTARTSYSTEM: Start System Request Completed", LOG_TYPE_INFO); log.writeLog(__LINE__, "RESTARTSYSTEM: Start System Request Completed", LOG_TYPE_INFO);
@@ -2769,12 +2769,16 @@ void processMSG(messageqcpp::IOSocket* cfIos)
processManager.reinitProcessType("cpimport"); processManager.reinitProcessType("cpimport");
//request reinit after Process is active //request reinit after Process is active
for ( int i = 0; i < 600 ; i++ ) { for ( int i = 0; i < 10 ; i++ ) {
try { try {
ProcessStatus procstat; ProcessStatus procstat;
oam.getProcessStatus(processName, moduleName, procstat); oam.getProcessStatus(processName, moduleName, procstat);
if (procstat.ProcessOpState == oam::ACTIVE) { if (procstat.ProcessOpState == oam::COLD_STANDBY)
break;
if ( (procstat.ProcessOpState == oam::ACTIVE) ||
(procstat.ProcessOpState == oam::STANDBY) ) {
// if a PrimProc was restarted, reinit ACTIVE ExeMgr(s) and DDL/DMLProc // if a PrimProc was restarted, reinit ACTIVE ExeMgr(s) and DDL/DMLProc
if( processName == "PrimProc") { if( processName == "PrimProc") {

View File

@@ -1388,7 +1388,7 @@ static void chldHandleThread(MonitorConfig config)
catch(...) catch(...)
{} {}
// check if process failover is needed due to process outage // check if Mdoule failover is needed due to process outage
aMonitor.checkModuleFailover((*listPtr).ProcessName); aMonitor.checkModuleFailover((*listPtr).ProcessName);
//check the db health //check the db health
@@ -1463,15 +1463,19 @@ static void chldHandleThread(MonitorConfig config)
restartStatus = " restart failed with hard failure, don't retry!!"; restartStatus = " restart failed with hard failure, don't retry!!";
(*listPtr).processID = 0; (*listPtr).processID = 0;
// check if process failover is needed due to process outage // check if Module failover is needed due to process outage
aMonitor.checkModuleFailover((*listPtr).ProcessName); aMonitor.checkModuleFailover((*listPtr).ProcessName);
break; break;
} }
else else
{ {
if ( (*listPtr).processID != oam::API_MINOR_FAILURE ) if ( (*listPtr).processID != oam::API_MINOR_FAILURE )
{
//restarted successful //restarted successful
//Inform Process Manager that Process restart
aMonitor.processRestarted( (*listPtr).ProcessName, false);
break; break;
}
} }
// restart failed with minor error, sleep and try // restart failed with minor error, sleep and try
sleep(5); sleep(5);

View File

@@ -621,9 +621,6 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
else else
log.writeLog(__LINE__, "START: process already active " + processName); log.writeLog(__LINE__, "START: process already active " + processName);
//Inform Process Manager that Process restart
//processRestarted(processName);
ackMsg << (ByteStream::byte) ACK; ackMsg << (ByteStream::byte) ACK;
ackMsg << (ByteStream::byte) START; ackMsg << (ByteStream::byte) START;
ackMsg << (ByteStream::byte) requestStatus; ackMsg << (ByteStream::byte) requestStatus;
@@ -720,9 +717,6 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
requestStatus = API_FAILURE; requestStatus = API_FAILURE;
} }
//Inform Process Manager that Process restart
//processRestarted(processName);
ackMsg << (ByteStream::byte) ACK; ackMsg << (ByteStream::byte) ACK;
ackMsg << (ByteStream::byte) RESTART; ackMsg << (ByteStream::byte) RESTART;
ackMsg << (ByteStream::byte) requestStatus; ackMsg << (ByteStream::byte) requestStatus;
@@ -4650,7 +4644,6 @@ void ProcessMonitor::checkModuleFailover( std::string processName)
systemprocessstatus.processstatus[i].ProcessOpState == oam::FAILED ) { systemprocessstatus.processstatus[i].ProcessOpState == oam::FAILED ) {
// found a AVAILABLE mate, start it // found a AVAILABLE mate, start it
log.writeLog(__LINE__, "Change UM Master to module " + systemprocessstatus.processstatus[i].Module, LOG_TYPE_DEBUG); log.writeLog(__LINE__, "Change UM Master to module " + systemprocessstatus.processstatus[i].Module, LOG_TYPE_DEBUG);
log.writeLog(__LINE__, "Disable local UM module " + config.moduleName(), LOG_TYPE_DEBUG);
log.writeLog(__LINE__, "Stop local UM module " + config.moduleName(), LOG_TYPE_DEBUG); log.writeLog(__LINE__, "Stop local UM module " + config.moduleName(), LOG_TYPE_DEBUG);
log.writeLog(__LINE__, "Disable Local will Enable UM module " + systemprocessstatus.processstatus[i].Module, LOG_TYPE_DEBUG); log.writeLog(__LINE__, "Disable Local will Enable UM module " + systemprocessstatus.processstatus[i].Module, LOG_TYPE_DEBUG);