[pgcluster: 230] Re: デッドロックもしくはそれに類似した症状について

TANIDA Yutaka pgcluster@ml.postgresql.jp
Wed, 31 Mar 2004 17:17:59 +0900


谷田です。

On Wed, 31 Mar 2004 17:08:34 +0900
Wataru Oguro <oguro@zenrin-datacom.net> wrote:

> この時、ユーザ1とユーザ2が同時にログインしようとした場合、自分の所属す
> るグループ名をkeyに現在の接続数を取得しますが、ユーザ1とユーザ2が同時
> に現在の接続数を取得すると、両ユーザともログインできる事になってしまいます。
> そこで、selectもロックするようにlock tableを発行して、その時点でのテーブ
> ルのデータを元にチェックを行い、接続数を変更してトランザクションを終了し
> ます。
> 
> 上記のようなケースですと、ロックモードを下げることができないので、トラン
> ザクション設計で逃げることができないと思っています。

この条件でロックが干渉するのはデフォルトのaccess exclusive modeのみなん
じゃないかと思います。lock ... in exclusive mode + さっきのパッチで問題
がない事を確認しています。

# となると結局全部監視しないと駄目という事かなぁ。

-- 
TANIDA Yutaka <tanida@sra.co.jp>