1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-520 - added in mysql_upgrade script and fix issue with shared memory not cleared at shutdown

This commit is contained in:
David Hill
2018-11-03 17:06:36 -05:00
parent 988c573166
commit cf6820d342
8 changed files with 41 additions and 26 deletions

View File

@ -84,8 +84,8 @@ test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/po
mid=`module_id`
#if um, cloud, separate system type, external um storage, then setup mount
if [ $module = "um" ]; then
if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then
if [ $module = "um" ]; then
systemtype=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation ServerTypeInstall`
if [ $systemtype = "1" ]; then
umstoragetype=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation UMStorageType`
@ -97,8 +97,9 @@ if [ $module = "um" ]; then
sudo chown $user:$user -R $COLUMNSTORE_INSTALL_DIR/mysql > /dev/null 2>&1
fi
fi
fi
#setup rc.local
#setup rc.local for amazon
RCFILE=/etc/rc.d/rc.local
if [ $user != "root" ]; then
@ -106,7 +107,6 @@ if [ $module = "um" ]; then
sudo sed -i -e 's/#runuser/runuser/g' /etc/rc.d/rc.local >/dev/null 2>&1
fi
fi
fi
#if pm, create dbroot directories
if [ $module = "pm" ]; then

View File

@ -9396,9 +9396,6 @@ int Oam::checkGlusterLog(std::string logFile, std::string& msg)
******************************************************************************************/
std::string Oam::getMySQLPassword()
{
return oam::UnassignedName;
string mysqlUser = "root";
string USER = "root";
@ -9422,7 +9419,7 @@ std::string Oam::getMySQLPassword()
if (!file)
{
writeLog("getMySQLPassword: doesn't exist: " + fileName, LOG_TYPE_DEBUG);
exceptionControl("getMySQLPassword", API_FILE_OPEN_ERROR);
return oam::UnassignedName;
}
char line[400];

View File

@ -305,6 +305,19 @@ void reportThread(string reporttype)
cmd = installDir + "/bin/mcsadmin getSystemInfo >> " + outputFile;
system(cmd.c_str());
cmd = "echo ' ' >> " + outputFile;
system(cmd.c_str());
cmd = "echo '******************** System Directories ********************' >> " + outputFile;
system(cmd.c_str());
cmd = "echo ' ' >> " + outputFile;
system(cmd.c_str());
cmd = "echo '################# mcsadmin getSystemDirectories ################# ' >> " + outputFile;
system(cmd.c_str());
cmd = "echo ' ' >> " + outputFile;
system(cmd.c_str());
cmd = installDir + "/bin/mcsadmin getSystemDirectories >> " + outputFile;
system(cmd.c_str());
cmd = "echo ' ' >> " + outputFile;
system(cmd.c_str());
cmd = "echo '******************** System Configuration File ********************' >> " + outputFile;

View File

@ -39,7 +39,6 @@ using namespace installer;
#include "installdir.h"
extern string mysqlpw;
string pwprompt = " ";
string masterLogFile = oam::UnassignedName;
@ -347,7 +346,6 @@ int sendUpgradeRequest(int IserverTypeInstall, bool pmwithum)
ByteStream::byte requestID = RUNUPGRADE;
msg << requestID;
msg << mysqlpw;
int returnStatus = oam::API_SUCCESS;
@ -385,7 +383,7 @@ int sendUpgradeRequest(int IserverTypeInstall, bool pmwithum)
{
string tmpDir = startup::StartUp::tmpDir();
cout << "ERROR: Error return in running the MariDB Columnstore Upgrade, check " + tmpDir + "/upgrade*.logs on " << (*pt).DeviceName << endl;
cout << "ERROR: Error return in running the MariDB Columnstore Upgrade, check " + tmpDir + "/mysql_upgrade.log on " << (*pt).DeviceName << endl;
return returnStatus;
}
}

View File

@ -200,7 +200,6 @@ string tmpDir;
string HOME = "/root";
string SUDO = "";
extern string pwprompt;
string mysqlpw = oam::UnassignedName;
extern const char* pcommand;
extern string prompt;

View File

@ -1502,6 +1502,15 @@ void processMSG(messageqcpp::IOSocket* cfIos)
cmd = "touch " + startup::StartUp::installDir() + "/local/moveDbrootTransactionLog";
system(cmd.c_str());
//clear shared memory
cmd = startup::StartUp::installDir() + "/bin/clearShm > /dev/null 2>&1";
int rtnCode = system(cmd.c_str());
if (WEXITSTATUS(rtnCode) != 1)
log.writeLog(__LINE__, "Successfully ran DBRM clearShm", LOG_TYPE_DEBUG);
else
log.writeLog(__LINE__, "Error running DBRM clearShm", LOG_TYPE_ERROR);
// now do local module
processManager.shutdownModule(config.moduleName(), graceful, manualFlag);

View File

@ -1714,11 +1714,8 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
{
log.writeLog(__LINE__, "MSG RECEIVED: Run upgrade script ");
string mysqlpw;
msg >> mysqlpw;
// run upgrade script
int ret = runUpgrade(mysqlpw);
int ret = runUpgrade();
ackMsg << (ByteStream::byte) ACK;
ackMsg << (ByteStream::byte) RUNUPGRADE;
@ -6583,15 +6580,17 @@ int ProcessMonitor::glusterUnassign(std::string dbrootID)
* purpose: run upgrade script
*
******************************************************************************************/
int ProcessMonitor::runUpgrade(std::string mysqlpw)
int ProcessMonitor::runUpgrade()
{
Oam oam;
string tmpLog = tmpLogDir + "/mysql_upgrade.log";
string passwordOption = " --password=" + mysqlpw;
if ( mysqlpw == oam::UnassignedName )
passwordOption = "";
string mysqlpw = oam.getMySQLPassword();
string passwordOption = passwordOption = "";
if ( mysqlpw != oam::UnassignedName )
passwordOption = " --password=" + mysqlpw;
for ( int i = 0 ; i < 10 ; i++ )
{

View File

@ -493,7 +493,7 @@ public:
/**
*@brief run upgrade script
*/
int runUpgrade(std::string mysqlpw);
int runUpgrade();
/**
*@brief change my.cnf