View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000578 | Pgpool-II | Bug | public | 2020-01-27 22:45 | 2020-04-14 13:02 |
| Reporter | giminni | Assigned To | pengbo | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | open | ||
| Platform | Linux | OS | Alpine Linux | OS Version | 3.11.3 |
| Product Version | 4.1.0 | ||||
| Summary | 0000578: 4.1: Cannot get standby online after a pcp_promote_node, instead getting "... failed to start in 90 second" | ||||
| Description | Here the log output ... - PCP: processing promote node - promoting Node ID 1 - received promote backend request for node_id: 1 from pid [3888] - starting to select new master node - starting promotion. promote host /var/run/pgpool(11003) - starting follow degeneration. shutdown host /var/run/pgpool(11002) - starting follow degeneration. shutdown host /var/run/pgpool(11004) - failover: 2 follow backends have been degenerated - failover: set new primary node: 1 - failover: set new master node: 1 - promotion done. promoted host /var/run/pgpool(11003) - start triggering follow command. - execute command: /opt/pgpool/etc/follow_master.sh 0 /var/run/pgpool 11002 /opt/pgpool/data0 1 0 /var/run/pgpool 0 11003 /opt/pgpool/data1 - initializing backend status - start online recovery - starting recovering node 0 - starting recovery command: "SELECT pgpool_recovery('basebackup.sh', 'localhost', '/opt/pgpool/data0', '11003', 0, '11002')- executing recovery - executing recovery, start recovery - executing recovery, finish recovery - node recovery, 1st stage is done - executing remote start - finish pgpool_remote_start - checking if postmaster is started .... | ||||
| Steps To Reproduce | 1) Execute pgpool_setup -m s -s -n 3 -r -d 2) Change pcppass to "*:11001:postgres:postgres" 3) Copy pcpass to $HOME/.pcppass 4) Chmod 600 $HOME/.pcppass 5) Added "host all all * trust" to pool_hba.conf 5) Execute startall pgpool port is 11000 pcp port is 11001 0000001 port is 11002 0000002 port is 11003 0000003 port is 11004 6) Execute pcp_promote_node -h 0.0.0.0 -p 11001 -n 1 -w | ||||
| Additional Information | ARCH: arm64 ORIGIN: docker.io/alpine CONTAINER: Rootless podman container with podman run -ti --name alps --net=host alpine DIR: /opt/pgpool SOCKET: /var/run/pgpool DB: Postgres V12 MODE: Streaming replication with replication slot CONFIG: See attachment *) Due to missing alpine linux, I added the pgpool extension manually | ||||
| Tags | failover, streaming replication | ||||
|
|
|
|
|
It is an expected behaviour. https://www.pgpool.net/docs/latest/en/html/pcp-promote-node.html | Please note that this command does not actually promote standby PostgreSQL backend: | it just changes the internal status of Pgpool-II and trigger failover and users have to promote standby PostgreSQL outside Pgpool-II. If you want to promote any standby node, please stop primary node first, then pgpool will promote any standby automatically. To recover the old primary as standby, please run "pcp_recovery_node". Here is a setup example: https://www.pgpool.net/docs/latest/en/html/example-cluster.html |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2020-01-27 22:45 | giminni | New Issue | |
| 2020-01-27 22:45 | giminni | File Added: pgpool.conf.tgz | |
| 2020-01-27 22:45 | giminni | Tag Attached: failover | |
| 2020-01-27 22:45 | giminni | Tag Attached: streaming replication | |
| 2020-01-28 14:46 | pengbo | Assigned To | => pengbo |
| 2020-01-28 14:46 | pengbo | Status | new => assigned |
| 2020-01-28 14:46 | pengbo | Description Updated | |
| 2020-01-28 14:46 | pengbo | Steps to Reproduce Updated | |
| 2020-01-28 14:46 | pengbo | Additional Information Updated | |
| 2020-01-28 15:05 | pengbo | Note Added: 0003093 | |
| 2020-01-28 15:06 | pengbo | Status | assigned => feedback |
| 2020-04-14 13:02 | pengbo | Status | feedback => closed |