You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-01 06:46:55 +03:00
MCOL-5464: Fixes of bugs from ASAN warnings, part one (#2792)
* Fixes of bugs from ASAN warnings, part one * MQC as static library, with nifty counter for global map and mutex * Switch clang to 16 * link messageqcpp to execplan
This commit is contained in:
@ -8,6 +8,34 @@ if (WITH_COREDUMPS)
|
||||
endif (WITH_COREDUMPS)
|
||||
|
||||
|
||||
SET(LD_PRELOAD_STRING "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}')")
|
||||
SET(ALLOC_CONFIG "MALLOC_CONF=''")
|
||||
SET(PRIMPROC_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(DMLPROC_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(DDLPROC_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(WRITEENGINE_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(CONTROLLERNODE_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(WORKERNODE_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(STORAGEMANAGER_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
|
||||
|
||||
if (WITH_COLUMNSTORE_ASAN)
|
||||
SET(ASAN_PATH "/tmp/asan")
|
||||
if (WITH_COLUMNSTORE_REPORT_PATH)
|
||||
SET(ASAN_PATH "${WITH_COLUMNSTORE_REPORT_PATH}/asan")
|
||||
endif (WITH_COLUMNSTORE_REPORT_PATH)
|
||||
|
||||
|
||||
SET(LD_PRELOAD_STRING "")
|
||||
SET(ALLOC_CONFIG "ASAN_OPTIONS=abort_on_error=1:disable_coredump=0,print_stats=false,detect_odr_violation=0,check_initialization_order=1,detect_stack_use_after_return=1,atexit=false,log_path=${ASAN_PATH}")
|
||||
SET(PRIMPROC_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(DMLPROC_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(DDLPROC_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(WRITEENGINE_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(CONTROLLERNODE_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(WORKERNODE_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
SET(STORAGEMANAGER_ALLOC_CONFIG ${ALLOC_CONFIG})
|
||||
endif()
|
||||
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/columnstoreSyslogSetup.sh.in" "${CMAKE_CURRENT_SOURCE_DIR}/columnstoreSyslogSetup.sh" @ONLY)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/columnstore-post-install.in" "${CMAKE_CURRENT_SOURCE_DIR}/columnstore-post-install" @ONLY)
|
||||
|
@ -13,7 +13,7 @@ Group=@DEFAULT_GROUP@
|
||||
LimitNOFILE=65536
|
||||
LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
Environment="@CONTROLLERNODE_ALLOC_CONFIG@"
|
||||
ExecStart=@ENGINE_BINDIR@/controllernode
|
||||
ExecStop=@ENGINE_BINDIR@/mcs-stop-controllernode.sh $MAINPID
|
||||
|
||||
|
@ -14,6 +14,7 @@ LimitNOFILE=65536
|
||||
LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
Environment="@DDLPROC_ALLOC_CONFIG@"
|
||||
ExecStart=@ENGINE_BINDIR@/DDLProc
|
||||
|
||||
Restart=on-failure
|
||||
|
@ -14,6 +14,7 @@ LimitNOFILE=65536
|
||||
LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
Environment="@DMLPROC_ALLOC_CONFIG@"
|
||||
ExecStart=@ENGINE_BINDIR@/DMLProc
|
||||
|
||||
Restart=on-failure
|
||||
|
@ -16,7 +16,7 @@ LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
ExecStartPre=/usr/bin/env bash -c "ldconfig -p | grep -m1 libjemalloc > /dev/null || echo 'Please install jemalloc to avoid ColumnStore performance degradation and unexpected service interruptions.'"
|
||||
ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/PrimProc"
|
||||
ExecStart=/usr/bin/env bash -c "@PRIMPROC_ALLOC_CONFIG@ @LD_PRELOAD_STRING@ exec @ENGINE_BINDIR@/PrimProc"
|
||||
|
||||
Restart=on-failure
|
||||
TimeoutStopSec=2
|
||||
|
@ -10,5 +10,5 @@ LimitNOFILE=65536
|
||||
LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/StorageManager"
|
||||
ExecStart=/usr/bin/env bash -c "@STORAGEMANAGER_ALLOC_CONFIG@ @LD_PRELOAD_STRING@ exec @ENGINE_BINDIR@/StorageManager"
|
||||
SuccessExitStatus=255
|
||||
|
@ -11,6 +11,7 @@ LimitNOFILE=65536
|
||||
LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
Environment="@WORKERNODE_ALLOC_CONFIG@"
|
||||
ExecStart=@ENGINE_BINDIR@/workernode DBRM_Worker%i
|
||||
ExecStopPost=@ENGINE_BINDIR@/mcs-savebrm.py
|
||||
ExecStopPost=/usr/bin/env bash -c "clearShm > /dev/null 2>&1"
|
||||
|
@ -14,7 +14,7 @@ LimitNOFILE=65536
|
||||
LimitNPROC=65536
|
||||
LimitCORE=@CORE_DUMPS@
|
||||
|
||||
ExecStart=/usr/bin/env bash -c "LD_PRELOAD=$(ldconfig -p | grep -m1 libjemalloc | awk '{print $1}') exec @ENGINE_BINDIR@/WriteEngineServer"
|
||||
ExecStart=/usr/bin/env bash -c "@WRITEENGINE_ALLOC_CONFIG@ @LD_PRELOAD_STRING@ exec @ENGINE_BINDIR@/WriteEngineServer"
|
||||
|
||||
Restart=on-failure
|
||||
TimeoutStopSec=20
|
||||
|
Reference in New Issue
Block a user