提交 03c7d557 编写于 作者: J Jamie McAtamney 提交者: Kalen Krempely

gpinitsystem: update catalog with correct hostname

Previously, gpintsystem was incorrectly filling the hostname field of each
segment in gp_segment_configuration with the segment's address. This commit
changes it to correctly resolve hostnames and update the catalog accordingly.
Co-authored-by: NKalen Krempely <kkrempely@pivotal.io>
上级 9628a332
......@@ -950,7 +950,8 @@ CREATE_QE_ARRAY () {
LAST_HOST=X
SEG_DIR_VECTOR=0
MIR_COUNT=-1
QD_PRIMARY_ARRAY=${MASTER_HOSTNAME}~${MASTER_PORT}~${MASTER_DIRECTORY}/${SEG_PREFIX}${CONTENT_COUNT}~${DBID_COUNT}~${CONTENT_COUNT}~0
MASTER_HOST=`HOST_LOOKUP $MASTER_HOSTNAME`
QD_PRIMARY_ARRAY=${MASTER_HOST}~${MASTER_HOSTNAME}~${MASTER_PORT}~${MASTER_DIRECTORY}/${SEG_PREFIX}${CONTENT_COUNT}~${DBID_COUNT}~${CONTENT_COUNT}~0
((DBID_COUNT=$DBID_COUNT+1));((CONTENT_COUNT=$CONTENT_COUNT+1))
for QE_PAIR in ${M_HOST_ARRAY[@]}
do
......@@ -966,7 +967,7 @@ CREATE_QE_ARRAY () {
((GP_PORT=$PORT_BASE+$PORT_COUNT))
GP_DIR=${DATA_DIRECTORY[$SEG_DIR_VECTOR]}
QE_PRIMARY_ARRAY=(${QE_PRIMARY_ARRAY[@]} ${QE_NAME}~${GP_PORT}~${GP_DIR}/${SEG_PREFIX}${CONTENT_COUNT}~${DBID_COUNT}~$CONTENT_COUNT)
QE_PRIMARY_ARRAY=(${QE_PRIMARY_ARRAY[@]} ${QE_HOST}~${QE_NAME}~${GP_PORT}~${GP_DIR}/${SEG_PREFIX}${CONTENT_COUNT}~${DBID_COUNT}~$CONTENT_COUNT)
POSTGRES_PORT_CHK $GP_PORT $QE_NAME
((DBID_COUNT=$DBID_COUNT+1))
((CONTENT_COUNT=$CONTENT_COUNT+1))
......@@ -1165,11 +1166,12 @@ SET_VAR () {
S=":"
;;
esac
GP_HOSTADDRESS=`$ECHO $I|$CUT -d$S -f1`
GP_PORT=`$ECHO $I|$CUT -d$S -f2`
GP_DIR=`$ECHO $I|$CUT -d$S -f3`
GP_DBID=`$ECHO $I|$CUT -d$S -f4`
GP_CONTENT=`$ECHO $I|$CUT -d$S -f5`
GP_HOSTNAME=`$ECHO $I|$CUT -d$S -f1`
GP_HOSTADDRESS=`$ECHO $I|$CUT -d$S -f2`
GP_PORT=`$ECHO $I|$CUT -d$S -f3`
GP_DIR=`$ECHO $I|$CUT -d$S -f4`
GP_DBID=`$ECHO $I|$CUT -d$S -f5`
GP_CONTENT=`$ECHO $I|$CUT -d$S -f6`
}
CREATE_QD_DB () {
......@@ -1437,7 +1439,7 @@ REGISTER_MIRRORS () {
for I in "${QE_MIRROR_ARRAY[@]}"
do
SET_VAR $I
dbid=`env PGOPTIONS="-c gp_session_role=utility" $PSQL -p $MASTER_PORT -d "${DEFAULTDB}" -X -A -t -c "select pg_catalog.gp_add_segment_mirror(${GP_CONTENT}::int2, '${GP_HOSTADDRESS}', '${GP_HOSTADDRESS}', ${GP_PORT}, '${GP_DIR}');" 2>/dev/null` >> $LOG_FILE 2>&1
dbid=`env PGOPTIONS="-c gp_session_role=utility" $PSQL -p $MASTER_PORT -d "${DEFAULTDB}" -X -A -t -c "select pg_catalog.gp_add_segment_mirror(${GP_CONTENT}::int2, '${GP_HOSTNAME}', '${GP_HOSTADDRESS}', ${GP_PORT}, '${GP_DIR}');" 2>/dev/null` >> $LOG_FILE 2>&1
ERROR_CHK $? "failed to register mirror for contentid=${GP_CONTENT}" 2
MIRRORS_UPDATED_DBID=(${MIRRORS_UPDATED_DBID[@]} ${GP_HOSTADDRESS}~${GP_PORT}~${GP_DIR}~${dbid}~${GP_CONTENT})
done
......
......@@ -478,13 +478,14 @@ CREATE_SPREAD_MIRROR_ARRAY () {
# Calculate the index based on host and subnet number
((PRIM_SEG_INDEX=($DEST_HOST*$NUM_DATADIR)+($DEST_SUBNET*$DIRS_PER_SUBNET)))
QE_M_NAME=`$ECHO ${QE_PRIMARY_ARRAY[$PRIM_SEG_INDEX]}|$AWK -F"~" '{print $1}'`
QE_M_HOST=`$ECHO ${QE_PRIMARY_ARRAY[$PRIM_SEG_INDEX]}|$AWK -F"~" '{print $1}'`
QE_M_NAME=`$ECHO ${QE_PRIMARY_ARRAY[$PRIM_SEG_INDEX]}|$AWK -F"~" '{print $2}'`
GP_M_DIR=${MIRROR_DATA_DIRECTORY[$SEGS_PROCESSED%$NUM_DATADIR]}
P_PORT=`$ECHO $QE_LINE|$AWK -F"~" '{print $2}'`
P_PORT=`$ECHO $QE_LINE|$AWK -F"~" '{print $3}'`
((GP_M_PORT=$P_PORT+$MIRROR_OFFSET))
M_CONTENT=`$ECHO $QE_LINE|$AWK -F"~" '{print $5}'`
M_SEG=`$ECHO $QE_LINE|$AWK -F"~" '{print $3}'|$AWK -F"/" '{print $NF}'`
QE_MIRROR_ARRAY=(${QE_MIRROR_ARRAY[@]} ${QE_M_NAME}~${GP_M_PORT}~${GP_M_DIR}/${M_SEG}~${DBID_COUNT}~${M_CONTENT})
M_CONTENT=`$ECHO $QE_LINE|$AWK -F"~" '{print $6}'`
M_SEG=`$ECHO $QE_LINE|$AWK -F"~" '{print $4}'|$AWK -F"/" '{print $NF}'`
QE_MIRROR_ARRAY=(${QE_MIRROR_ARRAY[@]} ${QE_M_HOST}~${QE_M_NAME}~${GP_M_PORT}~${GP_M_DIR}/${M_SEG}~${DBID_COUNT}~${M_CONTENT})
POSTGRES_PORT_CHK $GP_M_PORT $QE_M_NAME
((DBID_COUNT=$DBID_COUNT+1))
((SEGS_PROCESSED=$SEGS_PROCESSED+1))
......@@ -539,14 +540,15 @@ CREATE_GROUP_MIRROR_ARRAY () {
if [ $DEBUG_LEVEL -eq 0 ] && [ x"" != x"$VERBOSE" ];then $NOLINE_ECHO ".\c";fi
QE_M_NAME=`$ECHO ${QE_PRIMARY_ARRAY[$MIRROR_INDEX]}|$AWK -F"~" '{print $1}'`
GP_M_DIR=${MIRROR_DATA_DIRECTORY[$PRIMARY_INDEX%$NUM_DATADIR]}/`$ECHO $QE_LINE|$AWK -F"~" '{print $3}'|$AWK -F"/" '{print $NF}'`
QE_M_HOST=`$ECHO ${QE_PRIMARY_ARRAY[$MIRROR_INDEX]}|$AWK -F"~" '{print $1}'`
QE_M_NAME=`$ECHO ${QE_PRIMARY_ARRAY[$MIRROR_INDEX]}|$AWK -F"~" '{print $2}'`
GP_M_DIR=${MIRROR_DATA_DIRECTORY[$PRIMARY_INDEX%$NUM_DATADIR]}/`$ECHO $QE_LINE|$AWK -F"~" '{print $4}'|$AWK -F"/" '{print $NF}'`
M_CONTENT=`$ECHO $QE_LINE|$AWK -F"~" '{print $5}'`
P_PORT=`$ECHO $QE_LINE|$AWK -F"~" '{print $2}'`
M_CONTENT=`$ECHO $QE_LINE|$AWK -F"~" '{print $6}'`
P_PORT=`$ECHO $QE_LINE|$AWK -F"~" '{print $3}'`
GP_M_PORT=$(($P_PORT+$MIRROR_OFFSET))
QE_MIRROR_ARRAY=(${QE_MIRROR_ARRAY[@]} ${QE_M_NAME}~${GP_M_PORT}~${GP_M_DIR}~${DBID_COUNT}~${M_CONTENT})
QE_MIRROR_ARRAY=(${QE_MIRROR_ARRAY[@]} ${QE_M_HOST}~${QE_M_NAME}~${GP_M_PORT}~${GP_M_DIR}~${DBID_COUNT}~${M_CONTENT})
POSTGRES_PORT_CHK $GP_M_PORT $QE_M_NAME
DBID_COUNT=$(($DBID_COUNT+1))
......
......@@ -83,11 +83,12 @@ SET_VAR () {
S=":"
;;
esac
GP_HOSTADDRESS=`$ECHO $I|$CUT -d$S -f1`
GP_PORT=`$ECHO $I|$CUT -d$S -f2`
GP_DIR=`$ECHO $I|$CUT -d$S -f3`
GP_DBID=`$ECHO $I|$CUT -d$S -f4`
GP_CONTENT=`$ECHO $I|$CUT -d$S -f5`
GP_HOSTNAME=`$ECHO $I|$CUT -d$S -f1`
GP_HOSTADDRESS=`$ECHO $I|$CUT -d$S -f2`
GP_PORT=`$ECHO $I|$CUT -d$S -f3`
GP_DIR=`$ECHO $I|$CUT -d$S -f4`
GP_DBID=`$ECHO $I|$CUT -d$S -f5`
GP_CONTENT=`$ECHO $I|$CUT -d$S -f6`
}
PARA_EXIT () {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册