[pgpool-general: 3620] Expected behaviour in master/slave mode when the slave dies?
Michael McFall
manicmikey at hotmail.com
Tue Apr 14 01:06:56 JST 2015
Hello,
Given the following (abbreviated) pgpool-II configuration:
--------------------connection_cache = offload_balance_mode = offmaster_slave_mode = onreplication_mode = off
backend_hostname0 = <master-host>backend_flag0 = 'ALLOW_TO_FAILOVER'
backend_hostname1 = <slave-host>backend_flag1 = 'ALLOW_TO_FAILOVER'
health_check_period = 0fail_over_on_backend_error = 0search_primary_node_timeout = 0--------------------
Is it expected behaviour that connections to the MASTER would hang if the SLAVE fails? I understand that "fail_over_on_backend_error=0" would prevent pgpool-II from removing the failed slave node from the configuration, but I would have expected the primary/master would continue to service requests normally?
My interpretation is that pgpool must be able to communicate to all "healthy" (status=2) nodes in order to establish a new connection - is this correct?
When the slave/standby is failed, debug logging on the master shows the following:--------------------2015-04-13 14:45:33 DEBUG: pid 28131: I am 28131 accept fd 62015-04-13 14:45:33 LOG: pid 28131: connection received: host=xxxx port=335912015-04-13 14:45:33 DEBUG: pid 28131: Protocol Major: 1234 Minor: 5679 database: user:2015-04-13 14:45:33 DEBUG: pid 28131: SSLRequest from client2015-04-13 14:45:33 DEBUG: pid 28131: read_startup_packet: application_name: psql2015-04-13 14:45:33 DEBUG: pid 28131: Protocol Major: 3 Minor: 0 database: postgres user: xxxx2015-04-13 14:45:33 DEBUG: pid 28131: new_connection: connecting 0 backend2015-04-13 14:45:33 DEBUG: pid 28131: new_connection: connecting 1 backend2015-04-13 14:45:33 ERROR: pid 28131: connect_inet_domain_socket: getsockopt() detected error: Connection refused2015-04-13 14:45:33 ERROR: pid 28131: connection to <slave-host>(5432) failed2015-04-13 14:45:33 ERROR: pid 28131: new_connection: create_cp() failed2015-04-13 14:45:33 LOG: pid 28131: new_connection: do not failover because fail_over_on_backend_error is off2015-04-13 14:45:33 DEBUG: pid 15335: reap_handler called2015-04-13 14:45:33 DEBUG: pid 15335: reap_handler: call wait32015-04-13 14:45:33 DEBUG: pid 15335: child 28131 exits with status 2562015-04-13 14:45:33 DEBUG: pid 15335: fork a new child pid 281382015-04-13 14:45:33 DEBUG: pid 15335: reap_handler: normally exited2015-04-13 14:45:33 DEBUG: pid 28138: I am 281382015-04-13 14:45:33 DEBUG: pid 28138: pool_initialize_private_backend_status: initialize backend status--------------------
Versions in use: pgpool-II (3.3.4), postgresql (9.3.5)
Many thanks in advance.
Regards,M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pgpool.net/pipermail/pgpool-general/attachments/20150413/ec75c9c4/attachment.htm>
More information about the pgpool-general
mailing list