[Pgpool-general] Consistency error codes

Tatsuo Ishii ishii at sraoss.co.jp
Sun Jan 17 08:56:05 UTC 2010


There are two problems:

1) pgpool does not handle well multi-statemets. Pgpool saw first SQL
   (SET..) and decided that the statement could not be load
   balanced. So it sent to all nodes which causeds kind mismatch error
   by reason 2).

2) pgpool does not guarantee that OIDs are correctlt replicated. The
   SELECT returned one or more rows at node 0, while other nodes
   returned no row. That's the reason for kind mismatch.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

>  Fernando,
> 
>  You might be able to get a better idea of what happens if you enable
> pgpool's debugging mode (-d option). On debugging mode pgpool logs every
> message type received from the frontend and every message type received
> from its backends, so you might get a better idea of the message flow
> that leads to the message type mismatch that you see.
> 
> 
> Regards
> 
> On Thu, 2010-01-14 at 17:33 -0200, Fernando Morgenstern wrote:
> > Xavier,
> > 
> > Thanks for your answer.
> > 
> > Unfortunately, even after reading this page, i couldn't understand what causes this problem
> > 
> > Do you any idea of what could have caused it?
> > 
> > I searched postgres log at node 0, trying to find some clue of what happened, but there isn't anything there.
> > 
> > Best Regards,
> > ---
> > 
> > Fernando Marcelo
> > www.consultorpc.com
> > fernando at consultorpc.com
> > 
> > 
> > Em 14/01/2010, às 11:44, Xavier Noguer escreveu:
> > 
> > > 
> > > Fernando, you can find a description of all message types here:
> > > 
> > > http://developer.postgresql.org/pgdocs/postgres/protocol-message-formats.html
> > > 
> > > 
> > > 'D' means is a data row message.
> > > 
> > > Regards
> > > 
> > > On Thu, 2010-01-14 at 09:56 -0200, Fernando Morgenstern wrote:
> > >> Hello,
> > >> 
> > >> 
> > >> Is there a part of the manual or some page where i can find the
> > >> meaning of each consistency errors? I tried searching google but
> > >> couldn't find this ( maybe i was using the wrong keywords ).
> > >> 
> > >> 
> > >> Example:
> > >> 
> > >> 
> > >> ERROR: kind mismatch among backends. Possible last query was: "SET
> > >> DateStyle=ISO;SELECT oid, pg_encoding_to_char(encoding) AS encoding,
> > >> datlastsysoid FROM pg_database WHERE oid = 435746" kind details are:
> > >> 0[D] 1[C] 2[C] 3[C]
> > >> HINT: check data consistency among db nodes
> > >> 
> > >> 
> > >> C means that everything went correct on that node? What about D?
> > >> 
> > >> 
> > >> 
> > >> 
> > >> Best Regards,
> > >> ---
> > >> 
> > >> 
> > >> Fernando Marcelo
> > >> www.consultorpc.com
> > >> fernando at consultorpc.com
> > >> 
> > >> 
> > >> _______________________________________________
> > >> Pgpool-general mailing list
> > >> Pgpool-general at pgfoundry.org
> > >> http://pgfoundry.org/mailman/listinfo/pgpool-general
> > > 
> > 
> > _______________________________________________
> > Pgpool-general mailing list
> > Pgpool-general at pgfoundry.org
> > http://pgfoundry.org/mailman/listinfo/pgpool-general
> 
> _______________________________________________
> Pgpool-general mailing list
> Pgpool-general at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pgpool-general


More information about the Pgpool-general mailing list