View Issue Details

IDProjectCategoryView StatusLast Update
0000378Pgpool-IIBugpublic2018-05-07 15:29
ReportertuomasAssigned Tot-ishii 
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionopen 
PlatformLinuxOSUbuntuOS Version16.04.3
Product Version3.6.7 
Target VersionFixed in Version 
Summary0000378: Pgpool fails all connections when secondary goes down
DescriptionConfiguration:
 - 2 backends. backend 0 is secondary, backend 1 is primary
 - failovers are disallowed
 - streaming replication mode
 - loadbalancing is enabled


When backend 0 (secondary) is restarted/stopped, all connections to pgpool fail with error:
ERROR: unable to read message kind
DETAIL: kind does not match between master(45) slot[1] (52)

In pgpool logs:
2018-02-05 14:20:59: pid 31248: DETAIL: postmaster on DB node 0 was shutdown by administrative command
2018-02-05 14:20:59: pid 29420: LOG: pool_send_and_wait: Error or notice message from backend: : DB node id: 0 backend pid: 2707 statement: " DISCARD ALL" message: "terminating co
nnection due to administrator command"
2018-02-05 14:20:59: pid 29420: WARNING: packet kind of backend 1 ['C'] does not match with master/majority nodes packet kind ['E']
2018-02-05 14:20:59: pid 29420: FATAL: failed to read kind from backend
2018-02-05 14:20:59: pid 29420: DETAIL: kind mismatch among backends. Possible last query was: " DISCARD ALL" kind details are: 0[E: terminating connection due to administrator co
mmand] 1[C]
2018-02-05 14:20:59: pid 29420: HINT: check data consistency among db nodes
2018-02-05 14:20:59: pid 31365: LOG: reading and processing packets
2018-02-05 14:20:59: pid 31365: DETAIL: postmaster on DB node 0 was shutdown by administrative command
2018-02-05 14:20:59: pid 31365: LOG: degenerate backend request for node_id: 0 from pid [31365] is canceled because failover is disallowed on the node2018-02-05 14:20:59: pid 29370: LOG: pool_read_kind: error message from master backend:the database system is shutting down
2018-02-05 14:20:59: pid 29370: ERROR: unable to read message kind
2018-02-05 14:20:59: pid 29370: DETAIL: kind does not match between master(45) slot[1] (52)
...
Steps To ReproducePossibly by setting up 2 postgresql servers in streaming replication and then configuring pgpool so that backend 0 is secondary and backend 1 is primary and failovers are disabled and then shutting down the secondary postgresql. I can try to set up some test environment if needed, but the error messages might already give enough information.
TagsNo tags attached.

Activities

t-ishii

2018-02-06 11:07

developer   ~0001917

I was not able to reproduce exactly the same issue you had. Instead, I got segfault of child process. Both are not good of course :--< Will look into this....

tuomas

2018-02-08 18:24

reporter   ~0001921

I forgot to mention that the backends are postgresql 9.5, it might make a difference

t-ishii

2018-02-16 13:39

developer   ~0001935

Regarding "failovers are disallowed". What do you set to pgpool.conf exactly?

t-ishii

2018-04-06 10:50

developer   ~0001986

No response over 1 month. I'm going to close this issue.

Issue History

Date Modified Username Field Change
2018-02-05 23:57 tuomas New Issue
2018-02-06 11:06 t-ishii Assigned To => t-ishii
2018-02-06 11:06 t-ishii Status new => assigned
2018-02-06 11:07 t-ishii Note Added: 0001917
2018-02-08 18:24 tuomas Note Added: 0001921
2018-02-16 13:39 t-ishii Note Added: 0001935
2018-02-16 16:52 t-ishii Status assigned => feedback
2018-04-06 10:50 t-ishii Note Added: 0001986
2018-05-07 15:29 t-ishii Status feedback => closed