1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

Checkpointing some stuff. Doesn't work yet.

This commit is contained in:
Patrick LeBlanc
2019-06-06 15:47:15 -05:00
parent 98c9cd7b22
commit 15c256b011
4 changed files with 59 additions and 27 deletions

View File

@ -577,8 +577,8 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
}
if (processName == "StorageManager") // storagemanager doesn't send its own response
{
ackMsg << (uint8_t) ACK << (uint8_t) START << (uint8_t) API_SUCCESS;
mq.write(ackMsg);
//ackMsg << (uint8_t) ACK << (uint8_t) START << (uint8_t) API_SUCCESS;
//mq.write(ackMsg);
}
ProcessConfig processconfig;
@ -663,9 +663,13 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
processconfig.LogFile,
initType,
actIndicator);
if (processName == "StorageManager")
log.writeLog(__LINE__, "START: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
if (processconfig.ProcessName == "StorageManager")
{
log.writeLog(__LINE__, "StorageManager WTF? 6", LOG_TYPE_DEBUG);
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
oam::ACTIVE, processID);
}
if ( processID > oam::API_MAX )
processID = oam::API_SUCCESS;
@ -712,8 +716,8 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
}
if (processName == "StorageManager") // storagemanager doesn't send its own response
{
ackMsg << (uint8_t) ACK << (uint8_t) RESTART << (uint8_t) API_SUCCESS;
mq.write(ackMsg);
//ackMsg << (uint8_t) ACK << (uint8_t) RESTART << (uint8_t) API_SUCCESS;
// mq.write(ackMsg);
}
processList::iterator listPtr;
@ -765,9 +769,12 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
(*listPtr).DepModuleName,
(*listPtr).LogFile,
initType);
if (processName == "StorageManager")
log.writeLog(__LINE__, "RESTART: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
if (listPtr->ProcessName == "StorageManager")
{
log.writeLog(__LINE__, "StorageManager WTF? 7", LOG_TYPE_DEBUG);
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
oam::ACTIVE, listPtr->processID);
}
if ( processID > oam::API_MAX )
processID = oam::API_SUCCESS;
@ -1115,8 +1122,8 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
}
if (processName == "StorageManager") // storagemanager doesn't send its own status
{
ackMsg << (uint8_t) ACK << (uint8_t) STARTALL << (uint8_t) API_SUCCESS;
mq.write(ackMsg);
//ackMsg << (uint8_t) ACK << (uint8_t) STARTALL << (uint8_t) API_SUCCESS;
//mq.write(ackMsg);
}
if ( config.moduleType() == "pm" )
@ -1212,9 +1219,12 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
(*listPtr).DepModuleName,
(*listPtr).LogFile,
initType);
if (processName == "StorageManager")
log.writeLog(__LINE__, "STARTALL: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
if (listPtr->ProcessName == "StorageManager")
{
log.writeLog(__LINE__, "StorageManager WTF? 4", LOG_TYPE_DEBUG);
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
oam::ACTIVE, processID);
}
if ( processID > oam::API_MAX )
{
@ -1281,9 +1291,12 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
(*listPtr).DepModuleName,
(*listPtr).LogFile,
initType);
if (processName == "StorageManager")
log.writeLog(__LINE__, "STARTALL: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
if (listPtr->ProcessName == "StorageManager")
{
log.writeLog(__LINE__, "StorageManager WTF? 5", LOG_TYPE_DEBUG);
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
oam::ACTIVE, processID);
}
if ( processID > oam::API_MAX )
processID = oam::API_SUCCESS;
@ -2684,7 +2697,8 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
updateProcessInfo(processName, initType, 0);
//sleep, give time for INIT state to be update, prevent race condition with ACTIVE
sleep(1);
if (processName != "StorageManager")
sleep(1);
//check and setup for logfile
time_t now;
@ -2839,7 +2853,8 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
}
//give time to get INIT status updated in shared memory
sleep(1);
if (processName != "StorageManager")
sleep(1);
execv(processLocation.c_str(), argList);
if (processName == "StorageManager")
@ -4810,6 +4825,7 @@ int ProcessMonitor::runHDFSTest()
ifstream File (DataFilePlugin.c_str());
#if 0 // for storagemanager
if (!File)
{
log.writeLog(__LINE__, "Error: Hadoop Datafile Plugin File (" + DataFilePlugin + ") doesn't exist", LOG_TYPE_CRITICAL);
@ -4843,6 +4859,7 @@ int ProcessMonitor::runHDFSTest()
fail = true;
}
}
#endif
if (!fail)
{