[pgpool-general: 4175] pcp_detach_node / pcp_attach_node - wrong primary on failback.sh
Shay Cohavi
cohavisi at gmail.com
Tue Nov 10 02:16:20 JST 2015
Hi,
*using postgresql 9.3.1 and pgpool 3.42*
I try to write failover & failback mechanism using pgpool attach/detach pcp
command.
but sometimes I had noticed that the argument send to the failback script
are wrong (new primary hostname is not right):
# *psql -U postgres -h 192.168.15.59 -p 9999 template1 -c "show
pool_nodes;"*
Password for user postgres:
node_id | hostname | port | status | lb_weight | role
---------+---------------+------+--------+-----------+---------
0 | 192.168.15.55 | 5432 | 2 | 0.500000 | standby
1 | 192.168.15.56 | 5432 | 2 | 0.500000 | primary
(2 rows)
#* pcp_detach_node -d 10 192.168.15.59 9898 user password 0*
DEBUG: send: tos="R", len=44
DEBUG: recv: tos="r", len=21, data=AuthenticationOK
DEBUG: send: tos="D", len=6
DEBUG: recv: tos="d", len=20, data=CommandComplete
DEBUG: send: tos="X", len=4
[root at mgrdb-56 etc]# *psql -U postgres -h 192.168.15.59 -p 9999 template1
-c "show pool_nodes;"*
Password for user postgres:
node_id | hostname | port | status | lb_weight | role
---------+---------------+------+--------+-----------+---------
0 | 192.168.15.55 | 5432 | 3 | 0.500000 | standby
1 | 192.168.15.56 | 5432 | 2 | 0.500000 | primary
(2 rows)
# *pcp_attach_node -d 10 192.168.15.59 9898 user password 0*
DEBUG: send: tos="R", len=44
DEBUG: recv: tos="r", len=21, data=AuthenticationOK
DEBUG: send: tos="D", len=6
DEBUG: recv: tos="c", len=20, data=CommandComplete
DEBUG: send: tos="X", len=4
*failback.sh script is being executed:*
*from pgpool.conf:*
*failback_command='/etc/pgpool-II/recovery/failback.sh %d %h %H %m %M %D %R
%r'*
*from failback.sh:*
*NODE_ID=$1*
*HOST_NAME=$2*
*NEW_MASTER_HOSTNAME=$3*
*NEW_MASTER_NODE_ID=$4*
*OLD_MASTER_NODE_ID=$5*
*DATABASE_CLUSTER_PATH=$6*
*MASTER_CLUSTER_PATH=$7*
*NEW_MASTER_PORT=$8*
*function log()*
*{*
*###log error messages###*
*[ ! "$1" ] && return 0*
*/bin/echo "[$(/bin/date +%m/%d/%y\ %H:%M:%S.%2N)] - $1" >>
$PGHOME/failback.log*
*}*
*log ""*
*log "--- failback of $HOST_NAME ---"*
*log ""*
*log "node_id: $NODE_ID"*
*log "hostname: $HOST_NAME"*
*log "hostname of new master: $NEW_MASTER_HOSTNAME"*
*log "new master node id: $NEW_MASTER_NODE_ID"*
*log "old master node id: $OLD_MASTER_NODE_ID"*
*log "database cluster path: $DATABASE_CLUSTER_PATH"*
*log "master database cluster path: $MASTER_CLUSTER_PATH"*
*log "master port: $NEW_MASTER_PORT"*
*for i in $*; do*
* log "$i"*
*done*
*exit 0*
*and the log outputs:*
*[11/09/15 19:02:00.66] - --- failback of 192.168.15.55 ---*
*[11/09/15 19:02:00.66] - node_id: 0*
*[11/09/15 19:02:00.67] - hostname: 192.168.15.55*
*[11/09/15 19:02:00.67] - hostname of new master: 192.168.15.55*
*[11/09/15 19:02:00.67] - new master node id: 0*
*[11/09/15 19:02:00.67] - old master node id: 1*
*[11/09/15 19:02:00.67] - database cluster path:
/home/postgres/databases/fabrix*
*[11/09/15 19:02:00.68] - master database cluster path:
/home/postgres/databases/fabrix*
*[11/09/15 19:02:00.68] - master port: 5432*
*[11/09/15 19:02:00.68] - 0*
*[11/09/15 19:02:00.68] - 192.168.15.55*
*[11/09/15 19:02:00.68] - 192.168.15.55*
*[11/09/15 19:02:00.69] - 0*
*[11/09/15 19:02:00.69] - 1*
*[11/09/15 19:02:00.69] - /home/postgres/databases/fabrix*
*[11/09/15 19:02:00.69] - /home/postgres/databases/fabrix*
*[11/09/15 19:02:00.69] - 5432*
as you can tell the new master us not 192.168.15.55 , should be
192.168.15.56.
Please advice,
cohavisi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pgpool.net/pipermail/pgpool-general/attachments/20151109/fa2ffbd1/attachment.htm>
More information about the pgpool-general
mailing list