View Issue Details

IDProjectCategoryView StatusLast Update
0000827Pgpool-IIGeneralpublic2024-02-01 21:10
ReporterPyr0Texn1c Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformLinuxOSOracle Enterprise LinuxOS Version9.3
Product Version4.5.0 
Summary0000827: pcp commands doesn't work with delegated IP
DescriptionThere 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?
TagsNo tags attached.

Activities

pengbo

2024-02-01 20:31

developer   ~0004478

Did you set "pcp_listen_addresses"?

To listen all the ip addresses you need to set "pcp_listen_addresses = '*'".

Pyr0Texn1c

2024-02-01 21:10

reporter   ~0004479

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.

Issue History

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