[pgcluster: 496] ロードバランサの仕様に関して

kazunari takahashi kazunari.takahashi @ ctc-g.co.jp
2004年 8月 12日 (木) 18:28:34 JST


三谷様

高橋です.

バグ修正の早さに頭が下がる思いです.
おかげ様でサーバ6台へのバージョンアップ作業も
高速になってまいりました(笑)

早速av14を試してみました.
av13の時のリカバリーできないという問題は発生しませんでした.
また、リカバリー時にmasterDBへのアクセスは遮断されておりました.
対応ありがとうございます.

1点質問がございます.

ロードバランサ経由で更新系クエリを実行中にクラスターDBが落ちると
セッションが終了し、以下のようなメッセージが出力されます.

-----------------------------------------------------------------------
WARNING:  Message from PostgreSQL backend:
        The Postmaster has informed me that some other backend
        died abnormally and possibly corrupted shared memory.
        I have rolled back the current transaction and am
        going to terminate your database system connection and exit.
        Please reconnect to the database system and repeat your query.
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
connection to server was lost
-----------------------------------------------------------------------

コネクションプール機能を使用した場合は、障害が発生したクラスタDB以外の
DBにセッションを張っているトランザクションまで全て落ちました.
コネクションプール機能を使わない場合は、障害が発生したクラスタサーバ
にセッションを張っているトランザクションのみ落ちました.

これは仕様でしょうか?

webのバグレポートを読むと、自動的に別のクラスターサーバにセッションを張り
なすとのようなことが書いてあるのですが、認識違いですか?


####################################
#環境
####################################
pgcluster-1.0.7av14

pglb × 1 (solaris8 sparc)
clusterDB ×3 (solaris8 sparc) 
rgrp × 1 (solaris8 sparc)

####################################
#手順
####################################

-------------------------
1.データをloadbalancer経由でインサートを400件
-------------------------

$ psql -h localhost -U test test< test.sql

上記コマンドを2つのセッションから実行
snoopでマスターDBとセカンダリDBにアクセスしていることを確認

----------------------------
2.トランザクション実行中にマスタDBのpostmasterを落とす
-----------------------------

$ pg_ctl stop -D /usr/local/pgsql/data -m i

以上 宜しくお願いいたします.

高橋 一成 <kazunari.takahashi @ ctc-g.co.jp>




pgcluster メーリングリストの案内