diff --git a/CMakeLists.txt b/CMakeLists.txt index a11483145..c42857cf4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -392,9 +392,9 @@ IF (INSTALL_LAYOUT) set(SUSE_VERSION_NUMBER "${CMAKE_MATCH_1}") ENDIF () if (${SUSE_VERSION_NUMBER} EQUAL 12) - SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "expect" "boost-devel >= 1.54.0" "snappy" "jemalloc" "net-tools" PARENT_SCOPE) + SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "expect" "boost-devel >= 1.54.0" "snappy" "jemalloc" "net-tools MariaDB-server" PARENT_SCOPE) else () - SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "expect" "boost >= 1.53.0" "snappy" "jemalloc" "net-tools" PARENT_SCOPE) + SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "expect" "boost >= 1.53.0" "snappy" "jemalloc" "net-tools MariaDB-server" PARENT_SCOPE) endif() SET(CPACK_RPM_columnstore-engine_PRE_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/build/preInstall_storage_engine.sh PARENT_SCOPE) diff --git a/cmake/cpackEngineRPM.cmake b/cmake/cpackEngineRPM.cmake index 211362102..c624143a3 100644 --- a/cmake/cpackEngineRPM.cmake +++ b/cmake/cpackEngineRPM.cmake @@ -77,13 +77,13 @@ IF (EXISTS "/etc/SuSE-release") set(SUSE_VERSION_NUMBER "${CMAKE_MATCH_1}") ENDIF () if (${REDHAT_VERSION_NUMBER} EQUAL 6) - SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "MariaDB-columnstore-shared" "snappy" "net-tools") + SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "MariaDB-columnstore-shared" "snappy" "net-tools" "MariaDB-server") # Disable auto require as this will also try to pull Boost via RPM SET(CPACK_RPM_PACKAGE_AUTOREQPROV " no") elseif (${SUSE_VERSION_NUMBER} EQUAL 12) - SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "boost-devel >= 1.54.0" "libsnappy1" "jemalloc" "net-tools") + SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "boost-devel >= 1.54.0" "libsnappy1" "jemalloc" "net-tools" "MariaDB-server") else () - SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "boost >= 1.53.0" "snappy" "jemalloc" "net-tools") + SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "boost >= 1.53.0" "snappy" "jemalloc" "net-tools" "MariaDB-server") endif() SET(CPACK_RPM_columnstore-engine_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/build/preInstall_storage_engine.sh) diff --git a/oam/install_scripts/columnstore-post-install.in b/oam/install_scripts/columnstore-post-install.in index 72969eaff..4545ac120 100755 --- a/oam/install_scripts/columnstore-post-install.in +++ b/oam/install_scripts/columnstore-post-install.in @@ -177,13 +177,17 @@ if [ -z "aws" ]; then fi postConfigure -systemctl start mariadb-columnstore -# Wait for all columnstore to be ready, DDLProc is final process in startup order -while [ -z "$(pgrep -x DDLProc)" ]; -do - sleep 1 -done +systemctl cat mariadb-columnstore.service > /dev/null 2>&1 +if [ $? -eq 0 ] && [ $(running_systemd) -eq 0 ]; then + systemctl start mariadb-columnstore + + # Wait for all columnstore to be ready, DDLProc is final process in startup order + while [ -z "$(pgrep -x DDLProc)" ]; + do + sleep 1 + done +fi dbbuilder 7 > $tmpDir/dbbuilder.log diff --git a/oam/install_scripts/mcs-controllernode.service.in b/oam/install_scripts/mcs-controllernode.service.in index e51b01c4c..1ac114c68 100644 --- a/oam/install_scripts/mcs-controllernode.service.in +++ b/oam/install_scripts/mcs-controllernode.service.in @@ -5,7 +5,7 @@ After=mcs-workernode.service [Service] Type=forking -Environment="SKIP_OAM_INIT=1" +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 diff --git a/oam/install_scripts/mcs-ddlproc.service.in b/oam/install_scripts/mcs-ddlproc.service.in index 44f3c5494..c40703792 100644 --- a/oam/install_scripts/mcs-ddlproc.service.in +++ b/oam/install_scripts/mcs-ddlproc.service.in @@ -1,11 +1,10 @@ [Unit] Description=mcs-ddlproc -PartOf=mcs-exemgr.service +PartOf=mcs-writeengineserver.service After=mcs-dmlproc.service [Service] Type=simple -Environment="SKIP_OAM_INIT=1" ExecStart=@ENGINE_BINDIR@/DDLProc Restart=on-failure TimeoutStopSec=2 diff --git a/oam/install_scripts/mcs-dmlproc.service.in b/oam/install_scripts/mcs-dmlproc.service.in index a25841a99..576fdce42 100644 --- a/oam/install_scripts/mcs-dmlproc.service.in +++ b/oam/install_scripts/mcs-dmlproc.service.in @@ -1,11 +1,10 @@ [Unit] Description=mcs-dmlproc -PartOf=mcs-exemgr.service -After=mcs-exemgr.service +PartOf=mcs-writeengineserver.service +After=mcs-writeengineserver.service [Service] Type=simple -Environment="SKIP_OAM_INIT=1" ExecStart=@ENGINE_BINDIR@/DMLProc Restart=on-failure TimeoutStopSec=2 diff --git a/oam/install_scripts/mcs-exemgr.service.in b/oam/install_scripts/mcs-exemgr.service.in index 2130f7cf6..439d3a6a0 100644 --- a/oam/install_scripts/mcs-exemgr.service.in +++ b/oam/install_scripts/mcs-exemgr.service.in @@ -1,12 +1,11 @@ [Unit] Description=mcs-exemgr -PartOf=mcs-writeengineserver.service -After=mcs-writeengineserver.service +PartOf=mcs-primproc.service +After=mcs-primproc.service [Service] Type=simple -Environment="SKIP_OAM_INIT=1" -ExecStart=@ENGINE_BINDIR@/ExeMgr +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 diff --git a/oam/install_scripts/mcs-loadbrm.service.in b/oam/install_scripts/mcs-loadbrm.service.in index d9a634287..47cd00f42 100644 --- a/oam/install_scripts/mcs-loadbrm.service.in +++ b/oam/install_scripts/mcs-loadbrm.service.in @@ -6,7 +6,6 @@ ConditionPathExists=/var/lib/columnstore/data1/systemFiles/dbrm/BRM_saves_curren [Service] Type=simple -Environment="SKIP_OAM_INIT=1" ExecStart=/usr/bin/env bash -c "/usr/bin/load_brm /var/lib/columnstore/data1/systemFiles/dbrm/$(cat /var/lib/columnstore/data1/systemFiles/dbrm/BRM_saves_current)" [Install] diff --git a/oam/install_scripts/mcs-primproc.service.in b/oam/install_scripts/mcs-primproc.service.in index 84c08d436..baee874d4 100644 --- a/oam/install_scripts/mcs-primproc.service.in +++ b/oam/install_scripts/mcs-primproc.service.in @@ -6,8 +6,8 @@ After=mcs-controllernode.service [Service] Type=simple -Environment="SKIP_OAM_INIT=1" -ExecStart=@ENGINE_BINDIR@/PrimProc +ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/PrimProc" +ExecStartPost=sleep 2 Restart=on-failure TimeoutStopSec=2 diff --git a/oam/install_scripts/mcs-workernode.service.in b/oam/install_scripts/mcs-workernode.service.in index 714d85058..65862a360 100644 --- a/oam/install_scripts/mcs-workernode.service.in +++ b/oam/install_scripts/mcs-workernode.service.in @@ -5,7 +5,6 @@ After=mcs-loadbrm.service [Service] Type=forking -Environment="SKIP_OAM_INIT=1" ExecStart=@ENGINE_BINDIR@/workernode DBRM_Worker1 Restart=on-failure ExecStop=-@ENGINE_BINDIR@/save_brm diff --git a/oam/install_scripts/mcs-writeengineserver.service.in b/oam/install_scripts/mcs-writeengineserver.service.in index c603efe18..3764c80ab 100644 --- a/oam/install_scripts/mcs-writeengineserver.service.in +++ b/oam/install_scripts/mcs-writeengineserver.service.in @@ -1,12 +1,11 @@ [Unit] Description=WriteEngineServer -PartOf=mcs-primproc.service -After=mcs-primproc.service +PartOf=mcs-exemgr.service +After=mcs-exemgr.service [Service] Type=simple -Environment="SKIP_OAM_INIT=1" -ExecStart=@ENGINE_BINDIR@/WriteEngineServer +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 diff --git a/oam/install_scripts/post-mysql-install b/oam/install_scripts/post-mysql-install index d4cd68339..88ddd040f 100755 --- a/oam/install_scripts/post-mysql-install +++ b/oam/install_scripts/post-mysql-install @@ -22,10 +22,7 @@ checkForError() { # See if engine columnstore exist #--------------------------------------------------------------------------- echo "checking for engine columnstore..." - mysql \ - --user=root \ - --execute='show engines;' \ - | grep -i columnstore + su -s /bin/sh -c 'mysql --execute="show engines"' mysql 2> ${tmpdir}/post-mysql-install.log | grep -i columnstore # # Add compressiontype column to SYSCOLUMN if applicable