[Pgpool-general] Error: pgpool detected difference of thenumber of...

Daniel.Crespo at l-3com.com Daniel.Crespo at l-3com.com
Mon Sep 28 18:20:12 UTC 2009


Thanks for the reponse, Xavier.

I forgot to mention that when I issue pcp_node_info for backend0, it returns with a long string that contains the well known '2', meaning its connected. When I do it for backend1 is says BackendError. BackendError is shown when you are trying to get info from a backend that is not set up, or when another error (unknown to me at this point) if the backend is there, but experiences some problem.

I expect pgpool to ignore backend1 since it presents errors. Also, if you issue an update and pgpool says that there's a difference between backends, it should degenerate the backend1 and above, but it doesn't. I just try to keep making the same update, and every time pgpool complains, instead of degenerate the backends and carry on with only backend0.

Any other idea?

Thanks,
Daniel

> -----Original Message-----
> From: Xavier Noguer [mailto:xnoguer at antica.cl]
> Sent: Monday, September 28, 2009 1:51 PM
> To: Crespo, Daniel @ SDS
> Cc: pgpool-general at pgfoundry.org
> Subject: Re: [Pgpool-general] Error: pgpool detected difference of
> thenumber of...
> 
> 
>  That error usually appears when there's a difference between backends.
> You should compare the number of affected rows on each backend. If the
> query you are running is:
> 
> UPDATE table SET field1=’something’ WHERE field2=’something_else’;
> 
>  then you should run:
> 
>  SELECT COUNT(*) FROM table WHERE field2=’something_else’;
> 
>  connecting directly to each backend.
> 
>  Once you have discovered what the difference is, you can synchronize
> backends using pcp_recovery_node. But you have to decide which backends
> are corrupt and which backends have valid data before you run
> pcp_recovery_node.
> 
> 
>  Cheers
> 
> On Mon, 2009-09-28 at 13:31 -0400, Daniel.Crespo at l-3com.com wrote:
> > When connecting through pgpool, the query:
> >
> >
> >
> > UPDATE table SET field1=’something’ WHERE field2=’something_else’;
> >
> >
> >
> > throws the following error:
> >
> >
> >
> > ERROR: pgpool detected difference of the number of INSERTS, DELETES,
> > or UPDATES …(etc. I can’t recall the rest of the error message, but I
> > know it has something like “type ‘E’ ”
> >
> >
> >
> > If I connect directly to postgresql, the query is executed
> > successfully.
> >
> >
> >
> > I have not been able to test updating other tables because the system
> > is not available for me for a while.
> >
> >
> >
> > I’m using pgpool-II 2.2.1
> >
> >
> >
> > Any ideas?
> >
> >
> >
> > Thanks,
> >
> > Daniel
> >
> >
> > _______________________________________________
> > Pgpool-general mailing list
> > Pgpool-general at pgfoundry.org
> > http://pgfoundry.org/mailman/listinfo/pgpool-general



More information about the Pgpool-general mailing list