You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
Checkpointing some experimental changes to get storagemanager running.
This commit is contained in:
@ -270,6 +270,7 @@
|
||||
<hdfsRdwrScratch>/rdwrscratch</hdfsRdwrScratch> <!-- Do not set to an hdfs file path -->
|
||||
<TempFileDir>/columnstore_tmp_files</TempFileDir>
|
||||
<SystemTempFileDir>/tmp/columnstore_tmp_files</SystemTempFileDir>
|
||||
<DataFilePlugin>$INSTALLDIR/lib/libcloudio.so</DataFilePlugin>
|
||||
</SystemConfig>
|
||||
<SystemModuleConfig>
|
||||
<ModuleType1>dm</ModuleType1>
|
||||
|
@ -254,6 +254,7 @@
|
||||
<hdfsRdwrBufferMaxSize>8G</hdfsRdwrBufferMaxSize>
|
||||
-->
|
||||
<hdfsRdwrScratch>/tmp/rdwrscratch</hdfsRdwrScratch> <!-- Do not set to an hdfs file path -->
|
||||
<DataFilePlugin>$INSTALLDIR/lib/libcloudio.so</DataFilePlugin>
|
||||
</SystemConfig>
|
||||
<SystemModuleConfig>
|
||||
<ModuleType1>dm</ModuleType1>
|
||||
|
@ -21,7 +21,22 @@
|
||||
<RunType>ACTIVE_STANDBY</RunType>
|
||||
<LogFile>off</LogFile>
|
||||
</PROCESSCONFIG2>
|
||||
|
||||
|
||||
<PROCESSCONFIG3>
|
||||
<ProcessName>StorageManager</ProcessName>
|
||||
<ModuleType>ChildExtOAMModule</ModuleType>
|
||||
<ProcessLocation>$INSTALLDIR/bin/StorageManager</ProcessLocation>
|
||||
<BootLaunch>2</BootLaunch>
|
||||
<LaunchID>3</LaunchID>
|
||||
<DepProcessName/>
|
||||
<DepModuleName1>@</DepModuleName1>
|
||||
<RunType>LOADSHARE</RunType>
|
||||
<LogFile>off</LogFile>
|
||||
</PROCESSCONFIG3>
|
||||
|
||||
|
||||
<PROCESSCONFIG4>
|
||||
<ProcessName>DBRMControllerNode</ProcessName>
|
||||
<ModuleType>ParentOAMModule</ModuleType>
|
||||
<ProcessLocation>$INSTALLDIR/bin/controllernode</ProcessLocation>
|
||||
@ -33,8 +48,8 @@
|
||||
<DepModuleName1>@</DepModuleName1>
|
||||
<RunType>SIMPLEX</RunType>
|
||||
<LogFile>off</LogFile>
|
||||
</PROCESSCONFIG3>
|
||||
<PROCESSCONFIG4>
|
||||
</PROCESSCONFIG4>
|
||||
<PROCESSCONFIG5>
|
||||
<ProcessName>ServerMonitor</ProcessName>
|
||||
<ModuleType>ChildOAMModule</ModuleType>
|
||||
<ProcessLocation>$INSTALLDIR/bin/ServerMonitor</ProcessLocation>
|
||||
@ -44,8 +59,8 @@
|
||||
<DepProcessName/>
|
||||
<RunType>LOADSHARE</RunType>
|
||||
<LogFile>off</LogFile>
|
||||
</PROCESSCONFIG4>
|
||||
<PROCESSCONFIG5>
|
||||
</PROCESSCONFIG5>
|
||||
<PROCESSCONFIG6>
|
||||
<ProcessName>DBRMWorkerNode</ProcessName>
|
||||
<ModuleType>ChildExtOAMModule</ModuleType>
|
||||
<ProcessLocation>$INSTALLDIR/bin/workernode</ProcessLocation>
|
||||
@ -57,7 +72,7 @@
|
||||
<DepProcessName/>
|
||||
<RunType>LOADSHARE</RunType>
|
||||
<LogFile>off</LogFile>
|
||||
</PROCESSCONFIG5>
|
||||
</PROCESSCONFIG6>
|
||||
<PROCESSCONFIG7>
|
||||
<ProcessName>PrimProc</ProcessName>
|
||||
<ModuleType>pm</ModuleType>
|
||||
|
@ -11056,6 +11056,8 @@ void ProcessManager::stopProcessTypes(bool manualFlag)
|
||||
processManager.stopProcessType("DBRMControllerNode", manualFlag);
|
||||
processManager.stopProcessType("DBRMWorkerNode", manualFlag);
|
||||
|
||||
processManager.stopProcessType("StorageManager", manualFlag);
|
||||
|
||||
log.writeLog(__LINE__, "stopProcessTypes Completed");
|
||||
}
|
||||
|
||||
|
@ -1014,6 +1014,12 @@ int main(int argc, char** argv)
|
||||
(*listPtr).DepModuleName,
|
||||
(*listPtr).LogFile,
|
||||
initType);
|
||||
if (listPtr->ProcessName == "StorageManager")
|
||||
{
|
||||
log.writeLog(__LINE__, "StorageManager WTF? 1", LOG_TYPE_DEBUG);
|
||||
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
|
||||
oam::ACTIVE, listPtr->processID);
|
||||
}
|
||||
|
||||
string restartStatus;
|
||||
|
||||
@ -1065,6 +1071,12 @@ int main(int argc, char** argv)
|
||||
(*listPtr).DepModuleName,
|
||||
(*listPtr).LogFile,
|
||||
initType);
|
||||
if (listPtr->ProcessName == "StorageManager")
|
||||
{
|
||||
log.writeLog(__LINE__, "StorageManager WTF? 2", LOG_TYPE_DEBUG);
|
||||
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
|
||||
oam::ACTIVE, listPtr->processID);
|
||||
}
|
||||
|
||||
string restartStatus;
|
||||
|
||||
@ -1652,6 +1664,12 @@ static void chldHandleThread(MonitorConfig config)
|
||||
(*listPtr).DepModuleName,
|
||||
(*listPtr).LogFile,
|
||||
initStatus);
|
||||
if (listPtr->ProcessName == "StorageManager")
|
||||
{
|
||||
log.writeLog(__LINE__, "StorageManager WTF? 3", LOG_TYPE_DEBUG);
|
||||
oam.setProcessStatus("StorageManager", boost::get<0>(oam.getModuleInfo()),
|
||||
oam::ACTIVE, listPtr->processID);
|
||||
}
|
||||
|
||||
if ( (*listPtr).processID == oam::API_FAILURE )
|
||||
{
|
||||
|
@ -292,6 +292,8 @@ void MonitorConfig::buildList(string ProcessModuleType, string processName, str
|
||||
if ( processName == "mysqld" )
|
||||
return;
|
||||
|
||||
// Might need to add a similar do-nothing clause for StorageManager?
|
||||
|
||||
pthread_mutex_lock(&LIST_LOCK);
|
||||
|
||||
// get current time in seconds
|
||||
@ -505,7 +507,6 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
processList::iterator listPtr;
|
||||
processList* aPtr = config.monitoredListPtr();
|
||||
listPtr = aPtr->begin();
|
||||
@ -574,6 +575,11 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
||||
|
||||
break;
|
||||
}
|
||||
if (processName == "StorageManager") // storagemanager doesn't send its own response
|
||||
{
|
||||
ackMsg << (uint8_t) ACK << (uint8_t) START << (uint8_t) API_SUCCESS;
|
||||
mq.write(ackMsg);
|
||||
}
|
||||
|
||||
ProcessConfig processconfig;
|
||||
ProcessStatus processstatus;
|
||||
@ -657,6 +663,8 @@ 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 ( processID > oam::API_MAX )
|
||||
processID = oam::API_SUCCESS;
|
||||
@ -702,6 +710,11 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
||||
|
||||
break;
|
||||
}
|
||||
if (processName == "StorageManager") // storagemanager doesn't send its own response
|
||||
{
|
||||
ackMsg << (uint8_t) ACK << (uint8_t) RESTART << (uint8_t) API_SUCCESS;
|
||||
mq.write(ackMsg);
|
||||
}
|
||||
|
||||
processList::iterator listPtr;
|
||||
processList* aPtr = config.monitoredListPtr();
|
||||
@ -752,6 +765,9 @@ 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 ( processID > oam::API_MAX )
|
||||
processID = oam::API_SUCCESS;
|
||||
@ -1097,6 +1113,11 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
||||
|
||||
break;
|
||||
}
|
||||
if (processName == "StorageManager") // storagemanager doesn't send its own status
|
||||
{
|
||||
ackMsg << (uint8_t) ACK << (uint8_t) STARTALL << (uint8_t) API_SUCCESS;
|
||||
mq.write(ackMsg);
|
||||
}
|
||||
|
||||
if ( config.moduleType() == "pm" )
|
||||
{
|
||||
@ -1191,6 +1212,9 @@ 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 ( processID > oam::API_MAX )
|
||||
{
|
||||
@ -1257,6 +1281,9 @@ 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 ( processID > oam::API_MAX )
|
||||
processID = oam::API_SUCCESS;
|
||||
@ -2229,8 +2256,8 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
|
||||
SystemProcessStatus systemprocessstatus;
|
||||
ProcessStatus processstatus;
|
||||
|
||||
log.writeLog(__LINE__, "STARTING Process: " + processName, LOG_TYPE_DEBUG);
|
||||
log.writeLog(__LINE__, "Process location: " + processLocation, LOG_TYPE_DEBUG);
|
||||
log.writeLog(__LINE__, "STARTING Process: " + processName, LOG_TYPE_CRITICAL); //, LOG_TYPE_DEBUG);
|
||||
log.writeLog(__LINE__, "Process location: " + processLocation, LOG_TYPE_CRITICAL); //, LOG_TYPE_DEBUG);
|
||||
|
||||
//check process location
|
||||
if (access(processLocation.c_str(), X_OK) != 0)
|
||||
@ -2815,6 +2842,12 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
|
||||
sleep(1);
|
||||
execv(processLocation.c_str(), argList);
|
||||
|
||||
if (processName == "StorageManager")
|
||||
{
|
||||
char buf[80];
|
||||
int l_errno = errno;
|
||||
log.writeLog(__LINE__, "exec'ing StorageManager failed, got " + string(strerror_r(l_errno, buf, 80)), LOG_TYPE_DEBUG);
|
||||
}
|
||||
//record the process information into processList
|
||||
config.buildList(processModuleType, processName, processLocation, arg_list,
|
||||
launchID, newProcessID, FAILED, BootLaunch, RunType,
|
||||
|
Reference in New Issue
Block a user