[Pgpool-general] Why if standby goes down the INSERT query fails?

Tatsuo Ishii ishii at sraoss.co.jp
Thu Nov 25 08:11:31 UTC 2010


>> What if network cable pulled out between pgpool and standby? TCP
>> connection between pgpool and standby will be hang in the kernel until
>> TCP keep alive timeout occurs(it will take 2 hours typically).  If you
>> want to recover from the state before 2 hours passes, the only way is
>> killing and restarting pgpool children processes...
>> 
>> I don't think this usecase if specific to pgpool-II.

> So you're saying that it is a normal behaviour.

Yes.

> It is strange to me, because I
> was expected not to stop my ingestions if the standby goes down.
> I was expected that pgpool recognize that it is down, detach it correctly with
> my failover script, but continue to insert stuff inside the primary in a
> trasparent way for the user.

I explained why it's impossible. If you have better idea, or workaroud
(for example, you can live with the case when cable is pulled out),
please let me know.

> So I have to stop everything anyway, re-synchronize manually the servers,
> restart and repeat my ingestion...
> 
> It is a little bit tricky for a production system...

Interesting. What do you do if you have an temporary error(for
example, out of disk space) while executing the inserting transaction?
You application need to prepare for error case anyway, don't it?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


More information about the Pgpool-general mailing list