[pgpool-general: 4920] PGPOOL failover issues
    Vaidyanathaswamy, Sai (NBCUniversal) 
    Sai.Vaidyanathaswamy at nbcuni.com
       
    Thu Aug 18 06:34:32 JST 2016
    
    
  
Hi Contributors,
I am testing the failover for PGPOOL, I have scenario where I am testing the failover by shutting down the master, Slave is promoted to master.
I am trying to do vice versa, Old primary not able to bring back to original state automatically  through pgpool.
I have followed the following steps.
  *   Current settings Step-1
  *   postgres=# show pool_nodes;
  *    node_id |    hostname    | port | status | lb_weight |  role  | select_cnt
  *   ---------+----------------+------+--------+-----------+--------+------------
  *    0       | 100.114.116.67 | 5432 | 2      | 1.000000  | master | 0
  *    1       | 100.114.116.68 | 5433 | 2      | 0.000000  | slave  | 0
  *   (2 rows)
Step-2
Shutting down the master server  67
sudo service postgresql-9.5 stop
Stopping PostgreSQL 9.5:
waiting for server to shut down.... done
server stopped
Step-3
l_use_sync_map: we cannot use sync map because STREAM: 0 query in progress: 0 doing extended query: 0
2016-08-17 14:25:04: pid 9795: DEBUG:  reading backend data packet kind
2016-08-17 14:25:04: pid 9795: DETAIL:  backend:1 of 2 kind = 'Z'
2016-08-17 14:25:04: pid 9795: DEBUG:  read_kind_from_backend max_count:1.000000 num_executed_nodes:1
2016-08-17 14:25:04: pid 9795: DEBUG:  processing backend response
2016-08-17 14:25:04: pid 9795: DETAIL:  received kind 'Z'(5a) from backend
2016-08-17 14:25:04: pid 9795: DEBUG:  processing backend response
2016-08-17 14:25:04: pid 9795: DETAIL:  Ready For Query received
2016-08-17 14:25:04: pid 9795: DEBUG:  session context: clearing ignore till sync. DONE
2016-08-17 14:25:04: pid 9795: DEBUG:  pool_use_sync_map: we cannot use sync map because STREAM: 0 query in progress: 0 doing extended query: 0
2016-08-17 14:25:04: pid 9795: DEBUG:  pool_use_sync_map: we cannot use sync map because STREAM: 0 query in progress: 0 doing extended query: 0
2016-08-17 14:25:04: pid 9795: DEBUG:  pool_use_sync_map: we cannot use sync map because STREAM: 0 query in progress: 0 doing extended query: 0
2016-08-17 14:25:04: pid 9795: DEBUG:  reading message length
2016-08-17 14:25:04: pid 9795: DETAIL:  slot: 1 length: 5
2016-08-17 14:25:04: pid 9795: DEBUG:  processing ReadyForQuery
Step-4
section to the server was lost. Attempting reset: Succeeded.
postgres=# show pool_nodes;
 node_id |    hostname    | port | status | lb_weight |  role  | select_cnt
---------+----------------+------+--------+-----------+--------+------------
 0       | 100.114.116.67 | 5432 | 3      | 1.000000  | slave  | 0
 1       | 100.114.116.68 | 5433 | 2      | 0.000000  | master | 0
(2 rows)
postgres=#
Step-5
Start the old master 67 again
sudo service postgresql-9.5 start
Starting PostgreSQL 9.5:
WARNING --> PERL_INSTALL_PATH is not set in /opt/PostgreSQL/9.5/etc/sysconfig/plLanguages.config file
WARNING --> PYTHON_INSTALL_PATH is not set in /opt/PostgreSQL/9.5/etc/sysconfig/plLanguages.config file
WARNING --> TCL_INSTALL_PATH is not set in /opt/PostgreSQL/9.5/etc/sysconfig/plLanguages.config file
waiting for server to start.... done
server started
Step-6
Shutting down the current master 68
postgres=# \q
bash-4.1$ /usr/local/pgsql/bin/pg_ctl -D /pgsql/data/9.5/data stop
waiting for server to shut down......... done
server stopped
bash-4.1$
Step-7
Pgpool is down after master shutdown
bash-4.1$ psql -p 9999
psql: ERROR:  pgpool is not accepting any new connections
DETAIL:  all backend nodes are down, pgpool requires at least one valid node
HINT:  repair the backend nodes and restart pgpool
bash-4.1$
lading startup packet
2016-08-17 14:29:15: pid 9965: DETAIL:  application_name: psql
2016-08-17 14:29:15: pid 9965: DEBUG:  reading startup packet
2016-08-17 14:29:15: pid 9965: DETAIL:  Protocol Major: 3 Minor: 0 database: postgres user: postgres
2016-08-17 14:29:15: pid 9965: DEBUG:  forwarding error message to frontend
2016-08-17 14:29:15: pid 9965: FATAL:  pgpool is not accepting any new connections
2016-08-17 14:29:15: pid 9965: DETAIL:  all backend nodes are down, pgpool requires at least one valid node
2016-08-17 14:29:15: pid 9965: HINT:  repair the backend nodes and restart pgpool
2016-08-17 14:29:15: pid 9595: DEBUG:  reaper handler
2016-08-17 14:29:15: pid 9595: LOG:  child process with pid: 9965 exits with status 256
2016-08-17 14:29:15: pid 9595: LOG:  fork a new child process with pid: 9988
2016-08-17 14:29:15: pid 9595: DEBUG:  reaper handler: exiting normally
2016-08-17 14:29:15: pid 9988: DEBUG:  initializing backend status
Step-8
Restarting the pgpool
and restart pgpool
bash-4.1$ exit
exit
[root at ushdbld00034 bin]# ./pgpool -f /usr/local/etc/pgpool.conf stop
2016-08-17 14:30:27: pid 10015: LOG:  stop request sent to pgpool. waiting for termination...
.done.
[1]+  Done                    ./pgpool -f /usr/local/etc/pgpool.conf -n -d > /tmp/PPOOL.log 2>&1
[root at ushdbld00034 bin]#  ./pgpool -f /usr/local/etc/pgpool.conf -n -d > /tmp/PPOOL.log 2>&1 &
[1] 10017
Step-9
Old master is new master now
postgres=# show pool_nodes;
 node_id |    hostname    | port | status | lb_weight |  role  | select_cnt
---------+----------------+------+--------+-----------+--------+------------
 0       | 100.114.116.67 | 5432 | 2      | 1.000000  | master | 0
 1       | 100.114.116.68 | 5433 | 3      | 0.000000  | slave  | 0
(2 rows)
I am not able to bring back the old master through pgpool , Do I need to execute the failover scripts through pgpoo.conf?
Will pgpool would not automatically bring back the old master after shutdown the new master?
I have recovery.conf on both the servers.
Please let me know.
Your help Is much appreciated.
Thanks !
sai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pgpool.net/pipermail/pgpool-general/attachments/20160817/b2b51f75/attachment.htm>
    
    
More information about the pgpool-general
mailing list