Improve failover.sh of pgpool_setup to avoid test error.
authorBo Peng <pengbo@sraoss.co.jp>
Thu, 17 May 2018 00:12:59 +0000 (09:12 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Thu, 17 May 2018 00:12:59 +0000 (09:12 +0900)
src/test/pgpool_setup

index b880dab368e36919c196814fc4529999fb228b83..e990ccf9fca472e5ad111037b9be89e7e8eed36d 100755 (executable)
@@ -154,6 +154,18 @@ if [ a"$failed_node_id" = a"$old_primary_node_id" ];then   # master failed
 !      new_primary_db_cluster=${mydir}/data"$new_master_id"
        echo $pg_ctl -D $new_primary_db_cluster promote >>$log  # let standby take over
        $pg_ctl -D $new_primary_db_cluster promote >>$log       # let standby take over
+
+       timeout=20
+       while [ $timeout -gt 0 ]
+       do
+               res=`__PGBIN__/psql -At -p $new_master_port_number -c "SELECT pg_is_in_recovery()"`
+               if [[ "$res" = 'f' ]]; then
+                       break;
+               fi
+               timeout=`expr $timeout - 1`
+               sleep 1
+       done
+
 fi
 EOF