From 0b55a443ed862f1852d7c30f36aac777a0ae4235 Mon Sep 17 00:00:00 2001 From: Chris Hajas Date: Thu, 2 Aug 2018 15:39:49 -0700 Subject: [PATCH] Revert "SED_PG_CONF: fix race condition that corrupted configurations" This reverts commit c242c8b580fa7c9c308efe05c50350a79044a493. --- gpMgmt/bin/lib/gp_bash_functions.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gpMgmt/bin/lib/gp_bash_functions.sh b/gpMgmt/bin/lib/gp_bash_functions.sh index e436bd396d..a81a728fa1 100755 --- a/gpMgmt/bin/lib/gp_bash_functions.sh +++ b/gpMgmt/bin/lib/gp_bash_functions.sh @@ -343,6 +343,7 @@ RETRY () { SED_PG_CONF () { LOG_MSG "[INFO]:-Start Function $FUNCNAME" + SED_TMP_FILE=/tmp/sed_text.$$ APPEND=0 FILENAME=$1;shift SEARCH_TXT=$1;shift @@ -406,26 +407,30 @@ SED_PG_CONF () { fi else if [ $KEEP_PREV -eq 0 ];then - SED_COMMAND="s/${SEARCH_TXT}/${SUB_TXT} #${SEARCH_TXT}/" + $ECHO "s/${SEARCH_TXT}/${SUB_TXT} #${SEARCH_TXT}/" > $SED_TMP_FILE else - SED_COMMAND="s/${SEARCH_TXT}.*/${SUB_TXT}/" + $ECHO "s/${SEARCH_TXT}.*/${SUB_TXT}/" > $SED_TMP_FILE fi - $TRUSTED_SHELL $SED_HOST sed -i'.bak1' -f /dev/stdin "$FILENAME" <<< "$SED_COMMAND" > /dev/null 2>&1 + $CAT $SED_TMP_FILE | $TRUSTED_SHELL ${SED_HOST} $DD of=$SED_TMP_FILE > /dev/null 2>&1 + $TRUSTED_SHELL $SED_HOST "sed -i'.bak1' -f $SED_TMP_FILE $FILENAME" > /dev/null 2>&1 if [ $RETVAL -ne 0 ]; then ERROR_EXIT "[FATAL]:-Failed to insert $SUB_TXT in $FILENAME on $SED_HOST" 2 else LOG_MSG "[INFO]:-Replaced line in $FILENAME on $SED_HOST" $TRUSTED_SHELL $SED_HOST "$RM -f ${FILENAME}.bak1" > /dev/null 2>&1 fi - - SED_COMMAND="s/^#${SEARCH_TXT}/${SEARCH_TXT}/" - $TRUSTED_SHELL $SED_HOST sed -i'.bak2' -f /dev/stdin "$FILENAME" <<< "$SED_COMMAND" > /dev/null 2>&1 + $ECHO "s/^#${SEARCH_TXT}/${SEARCH_TXT}/" > $SED_TMP_FILE + $CAT $SED_TMP_FILE | $TRUSTED_SHELL ${SED_HOST} $DD of=$SED_TMP_FILE > /dev/null 2>&1 + $TRUSTED_SHELL $SED_HOST "sed -i'.bak2' -f $SED_TMP_FILE $FILENAME" > /dev/null 2>&1 if [ $RETVAL -ne 0 ]; then ERROR_EXIT "[FATAL]:-Failed to substitute #${SEARCH_TXT} in $FILENAME on $SED_HOST" 2 else LOG_MSG "[INFO]:-Replaced line in $FILENAME on $SED_HOST" $TRUSTED_SHELL $SED_HOST "$RM -f ${FILENAME}.bak2" > /dev/null 2>&1 fi + $TRUSTED_SHELL $SED_HOST "$RM -f $SED_TMP_FILE" + + $RM -f $SED_TMP_FILE fi trap - ERR DEBUG # Disable trap -- GitLab