[pgsql-jp: 34015] Re: pgpool-2.1においてコミット時にセカンダリがダウンした際の不具合?について

Tatsuo Ishii t-ishii @ sra.co.jp
2004年 9月 21日 (火) 20:19:47 JST


石井です.

> トランザクションのコミット時にセカンダリ側のPostgreSQLデータベースが
> システムダウンになると、COMMIT文の実行結果はエラーとなるが、
> マスタ側のPostgreSQLデータベースではコミットされている。
[中略]
> なお、セカンダリの代わりにマスタ側がダウンした場合においては、
> セカンダリ側もコミットされていないので問題無いようです。
> 
> もし運悪くこのような障害が発生してしまうことを想定しますと、
> コミット時にエラーが検出されたトランザクションを再試行する際には、
> 既にコミットされたか否かをアプリケーション側で判別する処理が
> 必要になってくるものと考えています。

そうですね.

もしpgpoolで対応するとすると,マスタが正常コミット,セカンダリがエラー
になった場合にはアプリケーションにエラーを通知せず,黙ってセカンダリを
切り放すしかないのですが,それはそれで不都合かもしれないと思ってしまい
ます.そのあたり,いかがでしょう?

> 現時点での最新版であるpgpool-2.1では、2フェーズコミットなどの機能は
> 実装されていないと認識すればよろしいのでしょうか?

2フェーズコミットをpgpoolのようなPostgreSQLのアプリケーションだけで実
装するのは無理です.PostgreSQL自体が2フェーズコミットに対応しないと...
--
Tatsuo Ishii



pgsql-jp メーリングリストの案内