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 -->
|
<hdfsRdwrScratch>/rdwrscratch</hdfsRdwrScratch> <!-- Do not set to an hdfs file path -->
|
||||||
<TempFileDir>/columnstore_tmp_files</TempFileDir>
|
<TempFileDir>/columnstore_tmp_files</TempFileDir>
|
||||||
<SystemTempFileDir>/tmp/columnstore_tmp_files</SystemTempFileDir>
|
<SystemTempFileDir>/tmp/columnstore_tmp_files</SystemTempFileDir>
|
||||||
|
<DataFilePlugin>$INSTALLDIR/lib/libcloudio.so</DataFilePlugin>
|
||||||
</SystemConfig>
|
</SystemConfig>
|
||||||
<SystemModuleConfig>
|
<SystemModuleConfig>
|
||||||
<ModuleType1>dm</ModuleType1>
|
<ModuleType1>dm</ModuleType1>
|
||||||
|
@ -254,6 +254,7 @@
|
|||||||
<hdfsRdwrBufferMaxSize>8G</hdfsRdwrBufferMaxSize>
|
<hdfsRdwrBufferMaxSize>8G</hdfsRdwrBufferMaxSize>
|
||||||
-->
|
-->
|
||||||
<hdfsRdwrScratch>/tmp/rdwrscratch</hdfsRdwrScratch> <!-- Do not set to an hdfs file path -->
|
<hdfsRdwrScratch>/tmp/rdwrscratch</hdfsRdwrScratch> <!-- Do not set to an hdfs file path -->
|
||||||
|
<DataFilePlugin>$INSTALLDIR/lib/libcloudio.so</DataFilePlugin>
|
||||||
</SystemConfig>
|
</SystemConfig>
|
||||||
<SystemModuleConfig>
|
<SystemModuleConfig>
|
||||||
<ModuleType1>dm</ModuleType1>
|
<ModuleType1>dm</ModuleType1>
|
||||||
|
@ -21,7 +21,22 @@
|
|||||||
<RunType>ACTIVE_STANDBY</RunType>
|
<RunType>ACTIVE_STANDBY</RunType>
|
||||||
<LogFile>off</LogFile>
|
<LogFile>off</LogFile>
|
||||||
</PROCESSCONFIG2>
|
</PROCESSCONFIG2>
|
||||||
|
|
||||||
|
|
||||||
<PROCESSCONFIG3>
|
<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>
|
<ProcessName>DBRMControllerNode</ProcessName>
|
||||||
<ModuleType>ParentOAMModule</ModuleType>
|
<ModuleType>ParentOAMModule</ModuleType>
|
||||||
<ProcessLocation>$INSTALLDIR/bin/controllernode</ProcessLocation>
|
<ProcessLocation>$INSTALLDIR/bin/controllernode</ProcessLocation>
|
||||||
@ -33,8 +48,8 @@
|
|||||||
<DepModuleName1>@</DepModuleName1>
|
<DepModuleName1>@</DepModuleName1>
|
||||||
<RunType>SIMPLEX</RunType>
|
<RunType>SIMPLEX</RunType>
|
||||||
<LogFile>off</LogFile>
|
<LogFile>off</LogFile>
|
||||||
</PROCESSCONFIG3>
|
</PROCESSCONFIG4>
|
||||||
<PROCESSCONFIG4>
|
<PROCESSCONFIG5>
|
||||||
<ProcessName>ServerMonitor</ProcessName>
|
<ProcessName>ServerMonitor</ProcessName>
|
||||||
<ModuleType>ChildOAMModule</ModuleType>
|
<ModuleType>ChildOAMModule</ModuleType>
|
||||||
<ProcessLocation>$INSTALLDIR/bin/ServerMonitor</ProcessLocation>
|
<ProcessLocation>$INSTALLDIR/bin/ServerMonitor</ProcessLocation>
|
||||||
@ -44,8 +59,8 @@
|
|||||||
<DepProcessName/>
|
<DepProcessName/>
|
||||||
<RunType>LOADSHARE</RunType>
|
<RunType>LOADSHARE</RunType>
|
||||||
<LogFile>off</LogFile>
|
<LogFile>off</LogFile>
|
||||||
</PROCESSCONFIG4>
|
</PROCESSCONFIG5>
|
||||||
<PROCESSCONFIG5>
|
<PROCESSCONFIG6>
|
||||||
<ProcessName>DBRMWorkerNode</ProcessName>
|
<ProcessName>DBRMWorkerNode</ProcessName>
|
||||||
<ModuleType>ChildExtOAMModule</ModuleType>
|
<ModuleType>ChildExtOAMModule</ModuleType>
|
||||||
<ProcessLocation>$INSTALLDIR/bin/workernode</ProcessLocation>
|
<ProcessLocation>$INSTALLDIR/bin/workernode</ProcessLocation>
|
||||||
@ -57,7 +72,7 @@
|
|||||||
<DepProcessName/>
|
<DepProcessName/>
|
||||||
<RunType>LOADSHARE</RunType>
|
<RunType>LOADSHARE</RunType>
|
||||||
<LogFile>off</LogFile>
|
<LogFile>off</LogFile>
|
||||||
</PROCESSCONFIG5>
|
</PROCESSCONFIG6>
|
||||||
<PROCESSCONFIG7>
|
<PROCESSCONFIG7>
|
||||||
<ProcessName>PrimProc</ProcessName>
|
<ProcessName>PrimProc</ProcessName>
|
||||||
<ModuleType>pm</ModuleType>
|
<ModuleType>pm</ModuleType>
|
||||||
|
@ -11055,6 +11055,8 @@ void ProcessManager::stopProcessTypes(bool manualFlag)
|
|||||||
//dbrm
|
//dbrm
|
||||||
processManager.stopProcessType("DBRMControllerNode", manualFlag);
|
processManager.stopProcessType("DBRMControllerNode", manualFlag);
|
||||||
processManager.stopProcessType("DBRMWorkerNode", manualFlag);
|
processManager.stopProcessType("DBRMWorkerNode", manualFlag);
|
||||||
|
|
||||||
|
processManager.stopProcessType("StorageManager", manualFlag);
|
||||||
|
|
||||||
log.writeLog(__LINE__, "stopProcessTypes Completed");
|
log.writeLog(__LINE__, "stopProcessTypes Completed");
|
||||||
}
|
}
|
||||||
|
@ -1014,7 +1014,13 @@ int main(int argc, char** argv)
|
|||||||
(*listPtr).DepModuleName,
|
(*listPtr).DepModuleName,
|
||||||
(*listPtr).LogFile,
|
(*listPtr).LogFile,
|
||||||
initType);
|
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;
|
string restartStatus;
|
||||||
|
|
||||||
if ( (*listPtr).processID == oam::API_MINOR_FAILURE ||
|
if ( (*listPtr).processID == oam::API_MINOR_FAILURE ||
|
||||||
@ -1065,7 +1071,13 @@ int main(int argc, char** argv)
|
|||||||
(*listPtr).DepModuleName,
|
(*listPtr).DepModuleName,
|
||||||
(*listPtr).LogFile,
|
(*listPtr).LogFile,
|
||||||
initType);
|
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;
|
string restartStatus;
|
||||||
|
|
||||||
if ( (*listPtr).processID == oam::API_MINOR_FAILURE ||
|
if ( (*listPtr).processID == oam::API_MINOR_FAILURE ||
|
||||||
@ -1652,7 +1664,13 @@ static void chldHandleThread(MonitorConfig config)
|
|||||||
(*listPtr).DepModuleName,
|
(*listPtr).DepModuleName,
|
||||||
(*listPtr).LogFile,
|
(*listPtr).LogFile,
|
||||||
initStatus);
|
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 )
|
if ( (*listPtr).processID == oam::API_FAILURE )
|
||||||
{
|
{
|
||||||
// restart hard failure
|
// restart hard failure
|
||||||
|
@ -291,6 +291,8 @@ void MonitorConfig::buildList(string ProcessModuleType, string processName, str
|
|||||||
|
|
||||||
if ( processName == "mysqld" )
|
if ( processName == "mysqld" )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Might need to add a similar do-nothing clause for StorageManager?
|
||||||
|
|
||||||
pthread_mutex_lock(&LIST_LOCK);
|
pthread_mutex_lock(&LIST_LOCK);
|
||||||
|
|
||||||
@ -505,7 +507,6 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
processList::iterator listPtr;
|
processList::iterator listPtr;
|
||||||
processList* aPtr = config.monitoredListPtr();
|
processList* aPtr = config.monitoredListPtr();
|
||||||
listPtr = aPtr->begin();
|
listPtr = aPtr->begin();
|
||||||
@ -574,6 +575,11 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
|
|
||||||
break;
|
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;
|
ProcessConfig processconfig;
|
||||||
ProcessStatus processstatus;
|
ProcessStatus processstatus;
|
||||||
@ -657,7 +663,9 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
processconfig.LogFile,
|
processconfig.LogFile,
|
||||||
initType,
|
initType,
|
||||||
actIndicator);
|
actIndicator);
|
||||||
|
if (processName == "StorageManager")
|
||||||
|
log.writeLog(__LINE__, "START: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
if ( processID > oam::API_MAX )
|
if ( processID > oam::API_MAX )
|
||||||
processID = oam::API_SUCCESS;
|
processID = oam::API_SUCCESS;
|
||||||
|
|
||||||
@ -702,6 +710,11 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
|
|
||||||
break;
|
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::iterator listPtr;
|
||||||
processList* aPtr = config.monitoredListPtr();
|
processList* aPtr = config.monitoredListPtr();
|
||||||
@ -752,7 +765,10 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
(*listPtr).DepModuleName,
|
(*listPtr).DepModuleName,
|
||||||
(*listPtr).LogFile,
|
(*listPtr).LogFile,
|
||||||
initType);
|
initType);
|
||||||
|
if (processName == "StorageManager")
|
||||||
|
log.writeLog(__LINE__, "RESTART: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
|
|
||||||
if ( processID > oam::API_MAX )
|
if ( processID > oam::API_MAX )
|
||||||
processID = oam::API_SUCCESS;
|
processID = oam::API_SUCCESS;
|
||||||
|
|
||||||
@ -1097,6 +1113,11 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
|
|
||||||
break;
|
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" )
|
if ( config.moduleType() == "pm" )
|
||||||
{
|
{
|
||||||
@ -1191,7 +1212,10 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
(*listPtr).DepModuleName,
|
(*listPtr).DepModuleName,
|
||||||
(*listPtr).LogFile,
|
(*listPtr).LogFile,
|
||||||
initType);
|
initType);
|
||||||
|
if (processName == "StorageManager")
|
||||||
|
log.writeLog(__LINE__, "STARTALL: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
|
|
||||||
if ( processID > oam::API_MAX )
|
if ( processID > oam::API_MAX )
|
||||||
{
|
{
|
||||||
processID = oam::API_SUCCESS;
|
processID = oam::API_SUCCESS;
|
||||||
@ -1257,7 +1281,10 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
(*listPtr).DepModuleName,
|
(*listPtr).DepModuleName,
|
||||||
(*listPtr).LogFile,
|
(*listPtr).LogFile,
|
||||||
initType);
|
initType);
|
||||||
|
if (processName == "StorageManager")
|
||||||
|
log.writeLog(__LINE__, "STARTALL: supposedly StorageManager was started, got processID " + processID, LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
|
|
||||||
if ( processID > oam::API_MAX )
|
if ( processID > oam::API_MAX )
|
||||||
processID = oam::API_SUCCESS;
|
processID = oam::API_SUCCESS;
|
||||||
|
|
||||||
@ -2229,8 +2256,8 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
|
|||||||
SystemProcessStatus systemprocessstatus;
|
SystemProcessStatus systemprocessstatus;
|
||||||
ProcessStatus processstatus;
|
ProcessStatus processstatus;
|
||||||
|
|
||||||
log.writeLog(__LINE__, "STARTING Process: " + processName, LOG_TYPE_DEBUG);
|
log.writeLog(__LINE__, "STARTING Process: " + processName, LOG_TYPE_CRITICAL); //, LOG_TYPE_DEBUG);
|
||||||
log.writeLog(__LINE__, "Process location: " + processLocation, LOG_TYPE_DEBUG);
|
log.writeLog(__LINE__, "Process location: " + processLocation, LOG_TYPE_CRITICAL); //, LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
//check process location
|
//check process location
|
||||||
if (access(processLocation.c_str(), X_OK) != 0)
|
if (access(processLocation.c_str(), X_OK) != 0)
|
||||||
@ -2815,6 +2842,12 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
|
|||||||
sleep(1);
|
sleep(1);
|
||||||
execv(processLocation.c_str(), argList);
|
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
|
//record the process information into processList
|
||||||
config.buildList(processModuleType, processName, processLocation, arg_list,
|
config.buildList(processModuleType, processName, processLocation, arg_list,
|
||||||
launchID, newProcessID, FAILED, BootLaunch, RunType,
|
launchID, newProcessID, FAILED, BootLaunch, RunType,
|
||||||
|
Reference in New Issue
Block a user