You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
MCOL-850 - merged from develop-1.0
This commit is contained in:
@@ -215,7 +215,7 @@ detachvolume() {
|
|||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
test -f /usr/local/mariadb/columnstore/post/functions && . /usr/local/mariadb/columnstore/post/functions
|
test -f /usr/local/mariadb/columnstore/post/functions && . /usr/local/mariadb/columnstore/post/functions
|
||||||
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 100 "detachvolume failed: $STATUS"
|
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 6 "MCSVolume: detachvolume failed: $STATUS"
|
||||||
echo "failed"
|
echo "failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -226,7 +226,7 @@ detachvolume() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/post/functions
|
test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/post/functions
|
||||||
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 100 "detachvolume failed status: $STATUS"
|
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 6 "MCSVolume: detachvolume failed status: $STATUS"
|
||||||
echo $STATUS
|
echo $STATUS
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@@ -250,7 +250,7 @@ attachvolume() {
|
|||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/post/functions
|
test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/post/functions
|
||||||
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 100 "attachvolume failed: $STATUS"
|
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 6 "MCSVolume: attachvolume failed: $STATUS"
|
||||||
echo "failed"
|
echo "failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -261,7 +261,7 @@ attachvolume() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/post/functions
|
test -f $COLUMNSTORE_INSTALL_DIR/post/functions && . $COLUMNSTORE_INSTALL_DIR/post/functions
|
||||||
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 100 "attachvolume failed: $STATUS"
|
$COLUMNSTORE_INSTALL_DIR/bin/cplogger -w 6 "MCSVolume: attachvolume failed: $STATUS"
|
||||||
echo $STATUS
|
echo $STATUS
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
@@ -97,8 +97,13 @@ if [ $module = "um" ]; then
|
|||||||
echo "Setup UM Volume Mount"
|
echo "Setup UM Volume Mount"
|
||||||
device=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation UMVolumeDeviceName$mid`
|
device=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation UMVolumeDeviceName$mid`
|
||||||
mkdir -p $COLUMNSTORE_INSTALL_DIR/mysql/db > /dev/null 2>&1
|
mkdir -p $COLUMNSTORE_INSTALL_DIR/mysql/db > /dev/null 2>&1
|
||||||
mount $device $COLUMNSTORE_INSTALL_DIR/mysql/db -t ext2 -o defaults
|
if [ $user = "root" ]; then
|
||||||
|
mount $device $COLUMNSTORE_INSTALL_DIR/mysql/db -t ext2 -o noatime,nodiratime,noauto
|
||||||
chown mysql:mysql -R $COLUMNSTORE_INSTALL_DIR/mysql > /dev/null 2>&1
|
chown mysql:mysql -R $COLUMNSTORE_INSTALL_DIR/mysql > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
sudo mount $device $COLUMNSTORE_INSTALL_DIR/mysql/db -t ext2 -o noatime,nodiratime,noauto,user
|
||||||
|
sudo chown $user:$user -R $COLUMNSTORE_INSTALL_DIR/mysql > /dev/null 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@@ -38,6 +38,7 @@
|
|||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#endif
|
#endif
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <sys/file.h>
|
||||||
|
|
||||||
#include "bytestream.h"
|
#include "bytestream.h"
|
||||||
#include "configcpp.h"
|
#include "configcpp.h"
|
||||||
|
@@ -333,26 +333,26 @@ void ServerMonitor::checkCPUAlarm(string alarmItem, ALARMS alarmID)
|
|||||||
|
|
||||||
switch (alarmID) {
|
switch (alarmID) {
|
||||||
case ALARM_NONE: // clear all alarms set if any found
|
case ALARM_NONE: // clear all alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(CPU_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(CPU_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, CPU_USAGE_HIGH);
|
clearAlarm(alarmItem, CPU_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(CPU_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(CPU_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, CPU_USAGE_MED);
|
clearAlarm(alarmItem, CPU_USAGE_MED);
|
||||||
if ( oam.checkActiveAlarm(CPU_USAGE_LOW, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(CPU_USAGE_LOW, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, CPU_USAGE_LOW);
|
clearAlarm(alarmItem, CPU_USAGE_LOW);
|
||||||
break;
|
break;
|
||||||
case CPU_USAGE_LOW: // clear high and medium alarms set if any found
|
case CPU_USAGE_LOW: // clear high and medium alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(CPU_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(CPU_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, CPU_USAGE_HIGH);
|
clearAlarm(alarmItem, CPU_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(CPU_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(CPU_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, CPU_USAGE_MED);
|
clearAlarm(alarmItem, CPU_USAGE_MED);
|
||||||
break;
|
break;
|
||||||
case CPU_USAGE_MED: // clear high alarms set if any found
|
case CPU_USAGE_MED: // clear high alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(CPU_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(CPU_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, CPU_USAGE_HIGH);
|
clearAlarm(alarmItem, CPU_USAGE_HIGH);
|
||||||
break;
|
break;
|
||||||
|
@@ -23,7 +23,6 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include "serverMonitor.h"
|
#include "serverMonitor.h"
|
||||||
#include "installdir.h"
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace oam;
|
using namespace oam;
|
||||||
@@ -224,7 +223,7 @@ void diskMonitor()
|
|||||||
string fileName;
|
string fileName;
|
||||||
// check local
|
// check local
|
||||||
if ( deviceName == "/") {
|
if ( deviceName == "/") {
|
||||||
fileName = startup::StartUp::installDir() + "/releasenum";
|
fileName = deviceName + "usr/local/mariadb/columnstore/releasenum";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -646,26 +645,26 @@ void ServerMonitor::checkDiskAlarm(string alarmItem, ALARMS alarmID)
|
|||||||
|
|
||||||
switch (alarmID) {
|
switch (alarmID) {
|
||||||
case ALARM_NONE: // clear all alarms set if any found
|
case ALARM_NONE: // clear all alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(DISK_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(DISK_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, DISK_USAGE_HIGH);
|
clearAlarm(alarmItem, DISK_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(DISK_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(DISK_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, DISK_USAGE_MED);
|
clearAlarm(alarmItem, DISK_USAGE_MED);
|
||||||
if ( oam.checkActiveAlarm(DISK_USAGE_LOW, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(DISK_USAGE_LOW, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, DISK_USAGE_LOW);
|
clearAlarm(alarmItem, DISK_USAGE_LOW);
|
||||||
break;
|
break;
|
||||||
case DISK_USAGE_LOW: // clear high and medium alarms set if any found
|
case DISK_USAGE_LOW: // clear high and medium alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(DISK_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(DISK_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, DISK_USAGE_HIGH);
|
clearAlarm(alarmItem, DISK_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(DISK_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(DISK_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, DISK_USAGE_MED);
|
clearAlarm(alarmItem, DISK_USAGE_MED);
|
||||||
break;
|
break;
|
||||||
case DISK_USAGE_MED: // clear high alarms set if any found
|
case DISK_USAGE_MED: // clear high alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(DISK_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(DISK_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, DISK_USAGE_HIGH);
|
clearAlarm(alarmItem, DISK_USAGE_HIGH);
|
||||||
break;
|
break;
|
||||||
|
@@ -291,3 +291,27 @@ int main (int argc, char** argv)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// common functions
|
||||||
|
|
||||||
|
//
|
||||||
|
// Check Active alarms
|
||||||
|
//
|
||||||
|
// Use a mutex to limit the number of calls
|
||||||
|
//
|
||||||
|
|
||||||
|
pthread_mutex_t THREAD_LOCK;
|
||||||
|
|
||||||
|
|
||||||
|
bool ServerMonitor::checkActiveAlarm(const int alarmid, const std::string moduleName, const std::string deviceName)
|
||||||
|
{
|
||||||
|
Oam oam;
|
||||||
|
|
||||||
|
pthread_mutex_lock(&THREAD_LOCK);
|
||||||
|
|
||||||
|
bool status = oam.checkActiveAlarm(alarmid, moduleName, deviceName);
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&THREAD_LOCK);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -289,26 +289,26 @@ void ServerMonitor::checkMemoryAlarm(string alarmItem, ALARMS alarmID)
|
|||||||
|
|
||||||
switch (alarmID) {
|
switch (alarmID) {
|
||||||
case ALARM_NONE: // clear all alarms set if any found
|
case ALARM_NONE: // clear all alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(MEMORY_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(MEMORY_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, MEMORY_USAGE_HIGH);
|
clearAlarm(alarmItem, MEMORY_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(MEMORY_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(MEMORY_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, MEMORY_USAGE_MED);
|
clearAlarm(alarmItem, MEMORY_USAGE_MED);
|
||||||
if ( oam.checkActiveAlarm(MEMORY_USAGE_LOW, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(MEMORY_USAGE_LOW, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, MEMORY_USAGE_LOW);
|
clearAlarm(alarmItem, MEMORY_USAGE_LOW);
|
||||||
break;
|
break;
|
||||||
case MEMORY_USAGE_LOW: // clear high and medium alarms set if any found
|
case MEMORY_USAGE_LOW: // clear high and medium alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(MEMORY_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(MEMORY_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, MEMORY_USAGE_HIGH);
|
clearAlarm(alarmItem, MEMORY_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(MEMORY_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(MEMORY_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, MEMORY_USAGE_MED);
|
clearAlarm(alarmItem, MEMORY_USAGE_MED);
|
||||||
break;
|
break;
|
||||||
case MEMORY_USAGE_MED: // clear high alarms set if any found
|
case MEMORY_USAGE_MED: // clear high alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(MEMORY_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(MEMORY_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, MEMORY_USAGE_HIGH);
|
clearAlarm(alarmItem, MEMORY_USAGE_HIGH);
|
||||||
break;
|
break;
|
||||||
@@ -342,26 +342,26 @@ void ServerMonitor::checkSwapAlarm(string alarmItem, ALARMS alarmID)
|
|||||||
|
|
||||||
switch (alarmID) {
|
switch (alarmID) {
|
||||||
case ALARM_NONE: // clear all alarms set if any found
|
case ALARM_NONE: // clear all alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(SWAP_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(SWAP_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, SWAP_USAGE_HIGH);
|
clearAlarm(alarmItem, SWAP_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(SWAP_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(SWAP_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, SWAP_USAGE_MED);
|
clearAlarm(alarmItem, SWAP_USAGE_MED);
|
||||||
if ( oam.checkActiveAlarm(SWAP_USAGE_LOW, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(SWAP_USAGE_LOW, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, SWAP_USAGE_LOW);
|
clearAlarm(alarmItem, SWAP_USAGE_LOW);
|
||||||
break;
|
break;
|
||||||
case SWAP_USAGE_LOW: // clear high and medium alarms set if any found
|
case SWAP_USAGE_LOW: // clear high and medium alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(SWAP_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(SWAP_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, SWAP_USAGE_HIGH);
|
clearAlarm(alarmItem, SWAP_USAGE_HIGH);
|
||||||
if ( oam.checkActiveAlarm(SWAP_USAGE_MED, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(SWAP_USAGE_MED, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, SWAP_USAGE_MED);
|
clearAlarm(alarmItem, SWAP_USAGE_MED);
|
||||||
break;
|
break;
|
||||||
case SWAP_USAGE_MED: // clear high alarms set if any found
|
case SWAP_USAGE_MED: // clear high alarms set if any found
|
||||||
if ( oam.checkActiveAlarm(SWAP_USAGE_HIGH, serverName, alarmItem) )
|
if ( serverMonitor.checkActiveAlarm(SWAP_USAGE_HIGH, serverName, alarmItem) )
|
||||||
// alarm set, clear it
|
// alarm set, clear it
|
||||||
clearAlarm(alarmItem, SWAP_USAGE_HIGH);
|
clearAlarm(alarmItem, SWAP_USAGE_HIGH);
|
||||||
break;
|
break;
|
||||||
|
@@ -236,6 +236,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
int healthCheck(bool action = true);
|
int healthCheck(bool action = true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Check Active Alarm
|
||||||
|
*/
|
||||||
|
bool checkActiveAlarm(const int alarmid, const std::string moduleName, const std::string deviceName);
|
||||||
|
|
||||||
|
|
||||||
}; // end of class
|
}; // end of class
|
||||||
|
|
||||||
} // end of namespace
|
} // end of namespace
|
||||||
|
@@ -6334,7 +6334,7 @@ void ProcessManager::saveBRM(bool skipSession, bool clearshm)
|
|||||||
if ( skipSession )
|
if ( skipSession )
|
||||||
skip = "-s";
|
skip = "-s";
|
||||||
|
|
||||||
string cmd = startup::StartUp::installDir() + "/bin/reset_locks " + skip + " > + logdir + /reset_locks.log1 2>&1";
|
string cmd = startup::StartUp::installDir() + "/bin/reset_locks " + skip + " > " + logdir + "/reset_locks.log1 2>&1";
|
||||||
int rtnCode = system(cmd.c_str());
|
int rtnCode = system(cmd.c_str());
|
||||||
log.writeLog(__LINE__, "Ran reset_locks", LOG_TYPE_DEBUG);
|
log.writeLog(__LINE__, "Ran reset_locks", LOG_TYPE_DEBUG);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user