This is an automated email from the ASF dual-hosted git repository.

ztao1987 pushed a commit to branch taoz
in repository https://gitbox.apache.org/repos/asf/hawq.git


The following commit(s) were added to refs/heads/taoz by this push:
     new 6fa2830  HAWQ-1806. upgrade scripts add check for user and tmp dir
6fa2830 is described below

commit 6fa2830746c4c6186427609ecaa175bff0d1b691
Author: ztao1987 <[email protected]>
AuthorDate: Tue Sep 14 11:32:16 2021 +0800

    HAWQ-1806. upgrade scripts add check for user and tmp dir
---
 tools/bin/upgrade.sh | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/tools/bin/upgrade.sh b/tools/bin/upgrade.sh
index 7574c58..37acab3 100755
--- a/tools/bin/upgrade.sh
+++ b/tools/bin/upgrade.sh
@@ -72,6 +72,10 @@ check_error() {
     fi
 }
 
+get_guc(){
+    local res=`grep -A 2 $1 $GPHOME/etc/hawq-site.xml| grep \<value\> | awk -F 
'[>]' '{print $2}'|awk -F '[<]' '{print $1}'`
+    echo $res
+}
 # check environment
 if [[ -z $GPHOME ]];then
     echo "Environment variable GPHOME is not set."
@@ -79,6 +83,12 @@ if [[ -z $GPHOME ]];then
 fi
 source $GPHOME/greenplum_path.sh
 
+user=`whoami`
+if [[ "$user" != "gpadmin" ]]; then
+    echo "Failed! User running the script shoule be gpadmin."
+    exit 1
+fi
+
 # check master version
 version_str=`hawq --version`
 check_error "get hawq version on master"
@@ -89,12 +99,20 @@ if [[ "$version" != "$target_version" ]];then
 fi
 echo "Upgrade begin, you can find logs of each module in folder 
$HOME/hawqAdminLogs/upgrade"
 
-MASTER_HOST=`cat $GPHOME/etc/hawq-site.xml | grep -A 1 
'hawq_master_address_host' | tail -n 1 | awk -F '[>]' '{print $2}'|awk -F '[<]' 
'{print $1}'`
-MASTER_PORT=`cat $GPHOME/etc/hawq-site.xml | grep -A 1 
'hawq_master_address_port' | tail -n 1 | awk -F '[>]' '{print $2}'|awk -F '[<]' 
'{print $1}'`
-SEGMENT_PORT=`cat $GPHOME/etc/hawq-site.xml | grep -A 1 
'hawq_segment_address_port' | tail -n 1 | awk -F '[>]' '{print $2}'|awk -F 
'[<]' '{print $1}'`
+MASTER_HOST=`get_guc "hawq_master_address_host"`
+MASTER_PORT=`get_guc "hawq_master_address_port"`
+SEGMENT_PORT=`get_guc "hawq_segment_address_port"`
+MASTER_TEMP_DIR=`get_guc "hawq_master_temp_directory"`
+SEGMENT_TEMP_DIR=`get_guc "hawq_segment_temp_directory"`
 SEGMENT_HOSTS=`cat $GPHOME/etc/slaves`
 OPTIONS='-c gp_maintenance_conn=true'
 
+# check whether all tmp dir exsits
+ls $MASTER_TEMP_DIR $SEGMENT_TEMP_DIR
+check_error "check master and segment temp dir on master"
+gpssh -f $GPHOME/etc/slaves "ls $MASTER_TEMP_DIR $SEGMENT_TEMP_DIR"
+check_error "check master and segment temp dir on all segments"
+
 # check whether all segments replaced with new binary
 result=`gpssh -f $GPHOME/etc/slaves "source $GPHOME/greenplum_path.sh;hawq 
--version;"`
 check_error "check version on all hosts"

Reply via email to