[Pgpool-general] "FATAL: invalid frontend message type 4"

Xavier Noguer xnoguer at antica.cl
Wed Dec 30 22:15:05 UTC 2009


 pgpool-II version is 2.2.4 compiled against libpq 8.1.15, and postgres
version is 8.1.15.

 Both run on Debian etch amd64.

 I haven't been able to create a test case yet, but I've been able to
verify that it always happens after a COMMIT (like my previous example)
or a BEGIN.


 Regards

On Wed, 2009-12-30 at 17:41 +0900, Tatsuo Ishii wrote:
> PostgreSQL, pgpool-II version?
> 
> Do you have self contained test case?
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> 
> >  On this same issue, I found that pgpool detected an error just before
> > failing a backend as a response to a COMMIT (this is on a different
> > setup than the one from my previous post). This is the relevant part
> > from the pgpool log:
> > 
> > 
> > 2009-12-26 00:13:04 DEBUG: pid 16329: ReadyForQuery: transaction state:
> > T
> > 2009-12-26 00:13:04 DEBUG: pid 16329: do_command: Query: COMMIT
> > 2009-12-26 00:13:04 DEBUG: pid 16329: wait_for_query_response: waiting
> > for backend 1 completing the query
> > 2009-12-26 00:13:04 DEBUG: pid 16329: detect_error: kind: E
> > 2009-12-26 00:13:04 DEBUG: pid 16329: do_command: kind: E
> > 2009-12-26 00:13:04 ERROR: pid 16329: pool_read: read failed (Connection
> > reset by peer)
> > 2009-12-26 00:13:04 LOG:   pid 16329: notice_backend_error: 1 fail over
> > request from pid 16329
> > 
> > 
> >  I can see the commit on the postgres log of the failed backend,
> > followed by the "invalid frontend message type 4" which closes the
> > session and the connection to the client. That would explain why the
> > pool_read call on pgpool fails, but I still can't figure out why does
> > the backend receive that invalid message.
> > 
> > 
> > 
> >  Regards
> > 
> > 
> > On Thu, Dec 24, 2009 at 11:38 AM, Xavier Noguer <xnoguer at antica.cl>
> > wrote:
> > >
> > >  Hello,
> > >
> > >  I encountered a problem with a pgpool installation. Pgpool failed and
> > > detached a backend, but I don't know the reason because that
> > particular
> > > pgpool server is not writing to its log (problem with cronolog, and I
> > > can't restart pgpool since its a live system).
> > >
> > >  What I did find was a suspicious message in the postgres log of the
> > > failed backend. Here are the relevant lines of the log:
> > >
> > >
> > > 2009-12-23 15:07:20 CLST, sess LOG:  duration: 39.809 ms  statement:
> > > EXECUTE <unnamed>  [PREPARE:  COMMIT]
> > > 2009-12-23 15:07:20 CLST, sess FATAL:  invalid frontend message type 4
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > > 2009-12-23 15:07:20 CLST, sess LOG:  unexpected EOF on client
> > connection
> > >
> > >
> > >  Since this happened at the same time as the failing of the backend
> > I'm
> > > assuming this condition made postgres close the connection to pgpool
> > and
> > > so triggered the failing and detaching of the backend.
> > >
> > >  Does anybody know what message type 4 is ?
> > >
> > >
> > >  Regards
> > >
> > >
> > 
> > 
> > _______________________________________________
> > Pgpool-general mailing list
> > Pgpool-general at pgfoundry.org
> > http://pgfoundry.org/mailman/listinfo/pgpool-general



More information about the Pgpool-general mailing list