[pgsql-jp: 28894] Re: recovery mode後のタイムゾーンについて
bxcel
bxcel @ prophet.jp
2003年 2月 2日 (日) 00:47:33 JST
松本です。
> ;;; > > 環境は、RedHat Linux7.2 + postgres 7.2.1です。
> ;;; >
> ;;; > 7.3.1では再現しませんね.環境は Vine Linux 2.6です.
> ;;; > --
> ;;; > Tatsuo Ishii
> ;;;
> ;;; 情報ありがとうございます。
> ;;;
> ;;; こちらでも再現テストを実施したいのですが、どのような方法
> ;;; で再現させれば良いのか簡単にで結構ですので教えて頂けます
> ;;; でしょうか?
>
> OS のオープンファイル数の上限を下げておいて、PostgreSQL のサーバへ接続を
> いく
> つかしたときに、ファイルをオープンできなくなるようにして落すのが手軽です。
>
>
> Kenji Sugita
OSのオープンファイル数の上限を下記のようにして変更しました。
# echo 500 > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
500
そしてJavaでコネクションを200個開いていくプログラムを作成し、
実行しましたところ、103個目から200個目まで
The connection attempt failed because Exception: -
java.net.SocketException: Too many open files in system
と表示されました。
しかしsyslogには
Feb 1 22:27:44 hoge kernel: VFS: file-max limit 500 reached
と出ていましたが、recovery modeのログはありませんでした。
現象が発生した付近のログに出ていたメッセージからソースを
調べ再現を試みていたら、コネクションを多数開いている最中に
backendにSIGQUITシグナルを送るとrecovery modeのログが出るこ
とがわかりました。
十数回やってみましたが、recovery modeのログは出ましたが、
再現はしませんでした。
どうも単純に強制的な再起動だけでは再現しないようです。
松本
pgsql-jp メーリングリストの案内