1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

MCOL-3914 Replaced umbrella systemd service with a shell that starts/stops separate

MCS systemd units.

Add stop for StorageManager systemd unit.
This commit is contained in:
Roman Nozdrin
2020-06-04 14:46:14 +00:00
parent ccdfe98409
commit 2915f83a46
18 changed files with 44 additions and 46 deletions

1
.gitignore vendored
View File

@ -145,6 +145,7 @@ oam/install_scripts/mcs-primproc.service
oam/install_scripts/mcs-stop-controllernode.sh
oam/install_scripts/mcs-workernode.service
oam/install_scripts/mcs-writeengineserver.service
oam/install_scripts/mcs-storagemanager.service
oam/install_scripts/mcs_module_installer.sh
oam/install_scripts/slave-rep-columnstore.sh
oam/install_scripts/startupTests.sh

View File

@ -47,6 +47,8 @@ install(PROGRAMS columnstore-post-install
mcs-stop-controllernode.sh
mcs-loadbrm.py
mcs-start-storagemanager.py
mariadb-columnstore-start.sh
mariadb-columnstore-stop.sh
DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
install(FILES mariadb-columnstore.service

View File

@ -224,16 +224,7 @@ fi
systemctl cat mariadb-columnstore.service > /dev/null 2>&1
if [ $? -eq 0 ] && [ $(running_systemd) -eq 0 ]; then
systemctl start mcs-loadbrm
systemctl start mcs-workernode
systemctl start mcs-controllernode
systemctl start mcs-primproc
systemctl start mcs-exemgr
systemctl start mcs-storagemanager
systemctl start mcs-writeengineserver
systemctl start mcs-ddlproc
systemctl start mcs-dmlproc
systemctl start mariadb-columnstore
dbbuilder 7 > $tmpDir/dbbuilder.log
fi

View File

@ -5,7 +5,7 @@
# pre-uninstall steps for columnstore install
running_systemd() {
if [ "$(ps --no-headers -o comm 1)" == "systemd" ]; then
if [ "$(ps --no-headers -o comm 1)" = "systemd" ]; then
echo 0
else
echo 1
@ -17,7 +17,7 @@ systemctl cat mariadb-columnstore.service > /dev/null 2>&1
if [ $? -eq 0 ] && [ $(running_systemd) -eq 0 ]; then
systemctl stop mariadb-columnstore >/dev/null 2>&1
else
PROGS='workernode controllernode PrimProc ExeMgr DMLProc DDLProc WriteEngineServer StorageManager'
PROGS='PrimProc ExeMgr DMLProc DDLProc WriteEngineServer StorageManager controllernode workernode'
kill $(pidof $PROGS) > /dev/null
sleep 3
kill -9 $(pidof $PROGS) > /dev/null
@ -51,9 +51,6 @@ rm -rf /tmp/columnstore_tmp_files
lockdir=`mcsGetConfig Installation LockFileDirectory`
rm -f $lockdir/columnstore
# delete core files
#rm -f /var/log/mariadb/columnstore/corefiles/* > /dev/null 2>&1
#uninstall MariaDB Columnstore system logging
columnstoreSyslogSetup.sh uninstall >/dev/null 2>&1

View File

@ -18,7 +18,7 @@
### END INIT INFO
running_systemd() {
if [ "$(ps --no-headers -o comm 1)" == "systemd" ]; then
if [ "$(ps --no-headers -o comm 1)" = "systemd" ]; then
echo 0
else
echo 1

View File

@ -0,0 +1,15 @@
#!/bin/bash
# This script allows to gracefully start MCS
/bin/systemctl start mcs-loadbrm
/bin/systemctl start mcs-workernode
/bin/systemctl start mcs-controllernode
/bin/systemctl start mcs-exemgr
/bin/systemctl start mcs-storagemanager
/bin/systemctl start mcs-writeengineserver
/bin/systemctl start mcs-primproc
/bin/systemctl start mcs-dmlproc
/bin/systemctl start mcs-ddlproc
exit 0

View File

@ -0,0 +1,14 @@
#!/bin/bash
# This script allows to gracefully shut down MCS
/bin/systemctl stop mcs-dmlproc
/bin/systemctl stop mcs-ddlproc
/bin/systemctl stop mcs-primproc
/bin/systemctl stop mcs-writeengineserver
/bin/systemctl stop mcs-storagemanager
/bin/systemctl stop mcs-exemgr
/bin/systemctl stop mcs-controllernode
/bin/systemctl stop mcs-workernode
exit 0

View File

@ -2,10 +2,11 @@
Description=mariadb-columnstore
[Service]
Type=oneshot
Type=simple
# Execute a dummy program
ExecStart=/bin/true
ExecStart=@ENGINE_BINDIR@/mariadb-columnstore-start.sh
ExecStop=@ENGINE_BINDIR@/mariadb-columnstore-stop.sh
# This service shall be considered active after start
RemainAfterExit=yes

View File

@ -9,6 +9,3 @@ ExecStartPre=/usr/bin/env bash -c "systemctl start mcs-workernode"
ExecStart=@ENGINE_BINDIR@/controllernode
Restart=on-failure
ExecStop=@ENGINE_BINDIR@/mcs-stop-controllernode.sh $MAINPID
[Install]
WantedBy=mariadb-columnstore.service

View File

@ -8,6 +8,3 @@ Type=simple
ExecStart=@ENGINE_BINDIR@/DDLProc
Restart=on-failure
TimeoutStopSec=2
[Install]
WantedBy=mariadb-columnstore.service

View File

@ -8,6 +8,3 @@ Type=simple
ExecStart=@ENGINE_BINDIR@/DMLProc
Restart=on-failure
TimeoutStopSec=2
[Install]
WantedBy=mariadb-columnstore.service

View File

@ -8,6 +8,3 @@ Type=simple
ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/ExeMgr"
Restart=on-failure
TimeoutStopSec=2
[Install]
WantedBy=mariadb-columnstore.service

View File

@ -8,5 +8,4 @@ Type=simple
ExecStart=@ENGINE_BINDIR@/mcs-loadbrm.py
[Install]
WantedBy=mariadb-columnstore.service
WantedBy=mcs-workernode.service

View File

@ -10,6 +10,3 @@ ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc
ExecStartPost=/bin/sleep 2
Restart=on-failure
TimeoutStopSec=2
[Install]
WantedBy=mariadb-columnstore.service

View File

@ -1,7 +1,6 @@
#!/bin/bash
/bin/kill -15 "$1"
systemctl stop mcs-workernode --ignore-dependencies
timeout=$(mcsGetConfig SystemConfig DBRMTimeout)
while [ -n "$(pgrep -x controllernode)" ] && [ $timeout -gt 0 ]

View File

@ -10,7 +10,7 @@ ConditionPathExists=/etc/columnstore/storagemanager.cnf
Type=simple
ExecStartPre=@ENGINE_BINDIR@/mcs-start-storagemanager.py
ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/StorageManager"
ExecStop=/usr/bin/env bash -c "kill -15 $MAINPID"
[Install]
WantedBy=mariadb-columnstore.service
WantedBy=mcs-workernode.service

View File

@ -1,15 +1,12 @@
[Unit]
Description=mcs-workernode
PartOf=mariadb-columnstore.service
After=mcs-loadbrm.service
[Service]
Type=forking
ExecStart=@ENGINE_BINDIR@/workernode DBRM_Worker1
Restart=on-failure
ExecStop=-@ENGINE_BINDIR@/save_brm
ExecStop=/usr/bin/env bash -c "kill -15 $MAINPID"
ExecStopPost=-@ENGINE_BINDIR@/save_brm
ExecStopPost=/usr/bin/env bash -c "clearShm > /dev/null 2>&1"
TimeoutStopSec=2
[Install]
WantedBy=mariadb-columnstore.service
TimeoutStopSec=5

View File

@ -7,7 +7,4 @@ After=mcs-exemgr.service
Type=simple
ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/WriteEngineServer"
Restart=on-failure
TimeoutStopSec=2
[Install]
WantedBy=mariadb-columnstore.service
TimeoutStopSec=20