View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000371 | Pgpool-II | Bug | public | 2017-12-18 09:41 | 2017-12-19 10:08 |
| Reporter | m.oyamata | Assigned To | t-ishii | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | resolved | Resolution | open | ||
| Product Version | 3.7.0 | ||||
| Target Version | 3.7.1 | ||||
| Summary | 0000371: specify per node health check parameters setting in pgpool-II 3.7.0 does not work | ||||
| Description | The health check related parameters set for each node are not reflected in the health check operation. | ||||
| Steps To Reproduce | Environment information PostgreSQL Version: 10.0 PostgreSQL node : 2(Streaming Replication) pgpool-II Version: 3.7.0 pgpool-II mode : master slave PostgreSQL and pgpool-II are all running on the same server.(Red Hat Enterprise Linux Server release 7.3 (Maipo)) 1. Set health_check_max_retries of node 1 to 100 postgres=# pgpool show health_check; item | value | description ---------------------------+----------+------------------------------------------------------------------------------------------------------ health_check_period | 1 | Time interval in seconds between the health checks. health_check_timeout | 20 | Backend node health check timeout value in seconds. health_check_user | postgres | User name for PostgreSQL backend health check. health_check_password | ***** | Password for PostgreSQL backend health check database user. health_check_database | postgres | The database name to be used to perform PostgreSQL backend health check. health_check_max_retries | 5 | The maximum number of times to retry a failed health check before giving up and initiating failover. health_check_retry_delay | 1 | The amount of time in seconds to wait between failed health check retries. connect_timeout | 10000 | Timeout in milliseconds before giving up connecting to backend. health_check_period0 | 1 | Time interval in seconds between the health checks. health_check_timeout0 | 20 | Backend node health check timeout value in seconds. health_check_user0 | postgres | User name for PostgreSQL backend health check. health_check_password0 | ***** | Password for PostgreSQL backend health check database user. health_check_database0 | postgres | The database name to be used to perform PostgreSQL backend health check. health_check_max_retries0 | 5 | The maximum number of times to retry a failed health check before giving up and initiating failover. health_check_retry_delay0 | 1 | The amount of time in seconds to wait between failed health check retries. connect_timeout0 | 10000 | Timeout in milliseconds before giving up connecting to backend. health_check_period1 | 1 | Time interval in seconds between the health checks. health_check_timeout1 | 20 | Backend node health check timeout value in seconds. health_check_user1 | postgres | User name for PostgreSQL backend health check. health_check_password1 | ***** | Password for PostgreSQL backend health check database user. health_check_database1 | postgres | The database name to be used to perform PostgreSQL backend health check. health_check_max_retries1 | 100 | The maximum number of times to retry a failed health check before giving up and initiating failover. health_check_retry_delay1 | 1 | The amount of time in seconds to wait between failed health check retries. connect_timeout1 | 10000 | Timeout in milliseconds before giving up connecting to backend. (24 rows) 2. Stop node 1 $ pg_ctl stop -m i -D data2 waiting for server to shut down.... done server stopped 3. pgpool-II logfile Health check to node 1 is executed only 5 times. 2017-12-17 23:11:35: pid 9266: LOG: pgpool-II successfully started. version 3.7.0 (amefuriboshi) 2017-12-17 23:12:30: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:30: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:30: pid 9303: ERROR: failed to make persistent db connection 2017-12-17 23:12:30: pid 9303: DETAIL: connection to host:"localhost:5411" failed 2017-12-17 23:12:30: pid 9303: LOG: health check retrying on DB node: 1 (round:1) 2017-12-17 23:12:31: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:31: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:31: pid 9303: ERROR: failed to make persistent db connection 2017-12-17 23:12:31: pid 9303: DETAIL: connection to host:"localhost:5411" failed 2017-12-17 23:12:31: pid 9303: LOG: health check retrying on DB node: 1 (round:2) 2017-12-17 23:12:32: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:32: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:32: pid 9303: ERROR: failed to make persistent db connection 2017-12-17 23:12:32: pid 9303: DETAIL: connection to host:"localhost:5411" failed 2017-12-17 23:12:32: pid 9303: LOG: health check retrying on DB node: 1 (round:3) 2017-12-17 23:12:33: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:33: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:33: pid 9303: ERROR: failed to make persistent db connection 2017-12-17 23:12:33: pid 9303: DETAIL: connection to host:"localhost:5411" failed 2017-12-17 23:12:33: pid 9303: LOG: health check retrying on DB node: 1 (round:4) 2017-12-17 23:12:34: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:34: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:34: pid 9303: ERROR: failed to make persistent db connection 2017-12-17 23:12:34: pid 9303: DETAIL: connection to host:"localhost:5411" failed 2017-12-17 23:12:34: pid 9303: LOG: health check retrying on DB node: 1 (round:5) 2017-12-17 23:12:35: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:35: pid 9303: LOG: failed to connect to PostgreSQL server on "localhost:5411", getsockopt() detected error "Connection refused" 2017-12-17 23:12:35: pid 9303: ERROR: failed to make persistent db connection 2017-12-17 23:12:35: pid 9303: DETAIL: connection to host:"localhost:5411" failed 2017-12-17 23:12:35: pid 9303: LOG: health check failed on node 1 (timeout:0) 2017-12-17 23:12:35: pid 9303: LOG: received degenerate backend request for node_id: 1 from pid [9303] 2017-12-17 23:12:35: pid 9266: LOG: Pgpool-II parent process has received failover request 2017-12-17 23:12:35: pid 9266: LOG: starting degeneration. shutdown host localhost(5411) 2017-12-17 23:12:35: pid 9266: LOG: Do not restart children because we are switching over node id 1 host: localhost port: 5411 and we are in streaming replication mode 2017-12-17 23:12:35: pid 9266: LOG: execute command: echo test test | ||||
| Tags | No tags attached. | ||||
|
|
|
|
|
It seems Pgpool-II 3.7's per node health check parameter is broken. Can you please try attached patch? |
|
|
By applying the patch provided, the problem was solved. Thank you very much!! |
|
|
Great! We are going to release Pgpool-II 3.7.1 with the fix on January 9th, 2018. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-12-18 09:41 | m.oyamata | New Issue | |
| 2017-12-18 09:41 | m.oyamata | File Added: pgpool_3.7.log | |
| 2017-12-18 09:41 | m.oyamata | File Added: pgpool.conf | |
| 2017-12-19 08:34 | t-ishii | Assigned To | => t-ishii |
| 2017-12-19 08:34 | t-ishii | Status | new => feedback |
| 2017-12-19 08:34 | t-ishii | Target Version | => 3.7.1 |
| 2017-12-19 08:36 | t-ishii | File Added: health_check.diff | |
| 2017-12-19 08:36 | t-ishii | Note Added: 0001870 | |
| 2017-12-19 10:03 | m.oyamata | File Added: pgpool_3.7-2.log | |
| 2017-12-19 10:03 | m.oyamata | Note Added: 0001871 | |
| 2017-12-19 10:03 | m.oyamata | Status | feedback => assigned |
| 2017-12-19 10:08 | t-ishii | Note Added: 0001872 | |
| 2017-12-19 10:08 | t-ishii | Status | assigned => resolved |