View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000003 | Pgpool-II | Bug | public | 2012-02-10 20:42 | 2012-03-29 12:57 |
| Reporter | tuomas | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | open | ||
| Platform | Linux | OS | Ubuntu | OS Version | 10.04 |
| Summary | 0000003: health checks to new master disconnect abnormally after master failover | ||||
| Description | pgpool 3.1.2 Postgresql 9.1 mode: master/slave streaming replication After failover connections to new master work fine, but although health checks to new master succeed they cause error in new master's log: 2012-02-10 11:37:44.520 UTC LOG: connection received: host=10.99.1.10 port=51886 2012-02-10 11:37:44.524 UTC LOG: connection authorized: user=pgpool database=postgres 2012-02-10 11:37:44.527 UTC LOG: disconnection: session time: 0:00:00.006 user=pgpool database=postgres host=10.99.1.10 port=51886 2012-02-10 11:37:44.567 UTC LOG: connection received: host=10.99.1.10 port=51887 2012-02-10 11:37:44.569 UTC LOG: could not receive data from client: Connection reset by peer 2012-02-10 11:37:44.569 UTC LOG: unexpected EOF within message length word | ||||
| Steps To Reproduce | Stop master and after pgpool has failed over to new master, monitor new master's logs | ||||
| Tags | No tags attached. | ||||
|
|
Actually it seems to happen even without any failover |
|
|
This is how it looks in strace: connect(11, {sa_family=AF_INET, sin_port=htons(5432), sin_addr=inet_addr("10.99.1.20")}, 16) = 0 write(11, "\0\0\1(\0\2\0\0postgres\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 296) = 296 read(11, "R", 1) = 1 write(11, "X", 1) = 1 close(11) = 0 I guess postgresql protocol also expects the lenght of the message's contents in bytes. psql seems to send this after \q: sendto(3, "X\0\0\0\4", 5, MSG_NOSIGNAL, NULL, 0) = 5 |
|
|
Pgpool uses "version 2" protocol in this case and it does not require message length. |