[Pgpool-general] "connection reset by peer" fails backend

Xavier Noguer xnoguer at antica.cl
Fri Dec 18 17:58:34 UTC 2009


 Hi,

 I have pgpool setup with two backends, and every now and then one of
them seems to close a conection to the pgpool server triggering this:


2009-11-15 09:35:53 DEBUG: pid 9334: waiting for master completing the query
2009-11-15 09:35:53 DEBUG: pid 9334: detect_error: kind: E
2009-11-15 09:35:53 DEBUG: pid 9334: waiting for 1th backend
completing the query
2009-11-15 09:35:53 DEBUG: pid 9334: read_kind_from_backend: read kind
from 0 th backend E NUM_BACKENDS: 2
2009-11-15 09:35:53 DEBUG: pid 9334: read_kind_from_backend: read kind
from 1 th backend E NUM_BACKENDS: 2
2009-11-15 09:35:53 DEBUG: pid 9334: read_kind_from_backend: read kind
from 0 th backend Z NUM_BACKENDS: 2
2009-11-15 09:35:53 DEBUG: pid 9334: read_kind_from_backend: read kind
from 1 th backend Z NUM_BACKENDS: 2
2009-11-15 09:35:53 DEBUG: pid 9334: read kind from frontend ^@(00)
2009-11-15 09:35:53 DEBUG: pid 9334: read kind from frontend B(42)
2009-11-15 09:35:53 DEBUG: pid 9334: bind message: portal_name  stmt_name
2009-11-15 09:35:53 DEBUG: pid 9334: read_kind_from_backend: read kind
from 0 th backend E NUM_BACKENDS: 2
2009-11-15 09:35:53 DEBUG: pid 9334: read_kind_from_backend: read kind
from 1 th backend E NUM_BACKENDS: 2
2009-11-15 09:35:53 ERROR: pid 9334: pool_flush_it: write failed
(Broken pipe) offset: 0 wlen: 85
2009-11-15 09:35:53 DEBUG: pid 9334: read kind from frontend D(44)
2009-11-15 09:35:53 ERROR: pid 9334: pool_read: read failed
(Connection reset by peer)
2009-11-15 09:35:53 LOG:   pid 9334: notice_backend_error: 0 fail over
request from pid 9334
2009-11-15 09:35:53 ERROR: pid 9334: pool_flush_it: write failed
(Broken pipe) offset: 0 wlen: 5
2009-11-15 09:35:53 ERROR: pid 9334: pool_flush_it: write failed
(Connection reset by peer) offset: 0 wlen: 5
2009-11-15 09:35:53 DEBUG: pid 18077: failover_handler: kill 9334
2009-11-15 09:35:54 DEBUG: pid 18077: child 9334 exits with status 256
by signal 0

 I haven't been able to notice anything wrong with the backend which
closes the connection, the postgres server keeps working normally, and
I don't see any error messages.

 Why does a Connection reset by peer error have to trigger a failover
for the backend ?  for what I've seen, the pool_read() function that
fails the backend could instead return -1, discarding the current pool
but not failing the backend.

 Regards


More information about the Pgpool-general mailing list