View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000827 | Pgpool-II | General | public | 2024-01-30 18:13 | 2024-02-01 21:10 |
| Reporter | Pyr0Texn1c | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | Linux | OS | Oracle Enterprise Linux | OS Version | 9.3 |
| Product Version | 4.5.0 | ||||
| Summary | 0000827: pcp commands doesn't work with delegated IP | ||||
| Description | There is a 2-node Pgpool cluster, everything seems OK with watchdog configuration: [postgres@dbpg-n02 ~]$ pcp_watchdog_info -p 8433 -v Watchdog Cluster Information Total Nodes : 2 Remote Nodes : 1 Member Remote Nodes : 1 Alive Remote Nodes : 1 Nodes required for quorum: 1 Quorum state : QUORUM EXIST Local node escalation : NO Leader Node Name : dbpg-n01:8432 Linux dbpg-n01 Leader Host Name : dbpg-n01 Watchdog Node Information Node Name : dbpg-n02:8432 Linux dbpg-n02 Host Name : dbpg-n02 Delegate IP : 10.77.3.99 Pgpool port : 8432 Watchdog port : 8431 Node priority : 1 Status : 7 Status Name : STANDBY Membership Status : MEMBER Node Name : dbpg-n01:8432 Linux dbpg-n01 Host Name : dbpg-n01 Delegate IP : 10.77.3.99 Pgpool port : 8432 Watchdog port : 8431 Node priority : 1 Status : 4 Status Name : LEADER Membership Status : MEMBER if I issue a pcp command without using delegate IP, it works fine: [postgres@dbpg-n01 ~]$ pcp_node_info -p 8433 192.168.115.17 5432 2 -nan up up main main 0 none none 2024-01-25 10:53:15 192.168.115.18 5432 2 -nan up up replica replica 0 none none 2024-01-29 17:01:39 but if try to use delegate IP in pcp command, it fails: [postgres@dbpg-n01 ~]$ pcp_node_info -h 10.77.3.99 -p 8433 ERROR: connection to host "10.77.3.99" failed with error "Connection refused" it can't be firewall issue, because postgresql connection works fine and they are groupped in a service in firewall settings: [postgres@dbpg ~]$ psql -h 10.77.3.99 -p 8432 -U postgres -c "show pool_nodes" node_id | hostname | port | status | pg_status | lb_weight | role | pg_role | select_cnt | load_balance_node | replication_delay | replication_state | replication_sync_state | last_status_change ---------+----------------+------+--------+-----------+-----------+---------+---------+------------+-------------------+-------------------+-------------------+------------------------+--------------------- 0 | 192.168.115.17 | 5432 | up | up | -nan | main | main | 86155 | true | 0 | | | 2024-01-25 10:53:15 1 | 192.168.115.18 | 5432 | up | up | -nan | replica | replica | 917 | false | 0 | | | 2024-01-29 17:01:39 the question is: is this the normal behaviour, misconfig or bug? | ||||
| Tags | No tags attached. | ||||
|
|
Did you set "pcp_listen_addresses"? To listen all the ip addresses you need to set "pcp_listen_addresses = '*'". |
|
|
update: pcp_listen_addresses parameter was set to node hostname, changing it to '*' solved the issue. however, setting parameter to list of hostnames (pcp_listen_addresses='dbpg,dbpg-n01') doesn't work, it logs the warning at start: 2024-02-01 14:53:32.805: main pid 465954: LOG: listen address[1]: dbpg 2024-02-01 14:53:32.805: main pid 465954: LOG: Setting up socket for 10.77.3.99:8433 2024-02-01 14:53:32.806: main pid 465954: WARNING: failed to create INET domain socket 2024-02-01 14:53:32.806: main pid 465954: DETAIL: bind on socket failed with error "Cannot assign requested address" and then queries to the cluster hostname fail with the same error ("Connection refused"), though the delegated IP is assigned and reachable. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2024-01-30 18:13 | Pyr0Texn1c | New Issue | |
| 2024-02-01 20:31 | pengbo | Note Added: 0004478 | |
| 2024-02-01 20:31 | pengbo | Status | new => feedback |
| 2024-02-01 21:10 | Pyr0Texn1c | Note Added: 0004479 | |
| 2024-02-01 21:10 | Pyr0Texn1c | Status | feedback => new |