[Pgpool-general] saving state across pgpool restarts?
Jaume Sabater
jsabater at gmail.com
Fri Oct 30 14:15:06 UTC 2009
On Thu, Oct 29, 2009 at 6:21 PM, <Daniel.Crespo at l-3com.com> wrote:
> It seems that there is not a good solution for this.
> For example, let's say I have two backends: backend0 and backend1.
>
> 1. Network connection error happens on backend0.
> 2. backend0 is denerated.
> 3. New data incomes into pgpool->backend1.
> 4. backend0 is now out of sync.
> 5. Network connection is re-established on backend0.
> 6. pgpool is restarted for some reason.
> 7. pgpool connects to both backends.
> 8. a client executes a query that causes to retrieve data from both
> backends, but are mismatching.
> 9. pgpool degenerate the one that is NOT the master -> backend1.
> 10. DBA gets crazy because data was lost (in the backend1, when backend0
> connection was down)
I think that you are going over the top by missing a few key points:
2. After this event, pgsql in node 0 should be shut down by failover
script configured in pgpool-II or any other mechanism.
6. "For some reason" seems like kids playing around to me. I can only
see this happening if all of the following are true:
a) No backup power available.
b) Electricity goes down.
c) No sysadmin receives an alert of what has happened
If you meant a software restart of the daemon, then you have a problem
with humans, not with software.
> I think pgpool should keep track of which database has data with latest
> timestamp in order to degenerate the oldest one. Is it possible?
> Or any ideas as to how to solve or mitigate this?
Although it would be a good idea for pgpool-II to try and remember
that, it gets quite more complicated when you are inside a high
availability cluster, where that information would have to be shared.
Still, a nice feature it would be.
--
Jaume Sabater
http://linuxsilo.net/
"Ubi sapientas ibi libertas"
More information about the Pgpool-general
mailing list