[Pgpool-general] continue functioning on backend mismatch

asaf at lingnu.com asaf at lingnu.com
Thu Nov 12 13:41:17 UTC 2009


> On Wed, Nov 11, 2009 at 7:25 AM, Asaf Ohaion <asaf at lingnu.com> wrote:
>
>> I'm testing the replication function for some time now, trying
>> to move to production, one of the biggest things preventing me
>> from doing so :
>>
>> when theres a mismatch between the two backends, my client is
>> stuck with it until I fix it, I would like, in such case,
>> to continue working only with the primary backend,
>> letting me fix the problem later on.
>> is this possible ?
>
> I believe that your client should be aware of the returned error (say
> capture the exception) and retry the job. When retrying, the queries
> would be sent to the master node only and would work fine (slave node
> would now be degenerated).
>
> But I also recall work being done in the last 3 or 4 minor versions of
> pgpool-II regarding this sort of issues, although it was not covering
> all cases. Perhaps Tatsuo can provide more detailed information (I
> recall there was a reason why you don't want some queries to "just be
> passed to the other node and continue", but I have fishy memory).
>
> --
> Jaume Sabater
> http://linuxsilo.net/
>
> "Ubi sapientas ibi libertas"
>

in our last event, my client has retried several times and still failed,
I agree he should be notified on the error, but I would like him to be able
to continue to work.

I was hoping to query pgpool status every hour or so, to see if backend
are synchronized, and notify the admin (me) if not all backends are in sync.

what i would like is to have a notion of the master backend, which will be
regarded as the 'correct' backend, and if any other backend is not in sync
with it, it should not be used from that point on.
(until i re-sync it)



More information about the Pgpool-general mailing list