[pgsql-jp: 33532] Re: pgpool 2.0.2 報告

nishio @ aileck.co.jp nishio @ aileck.co.jp
2004年 7月 7日 (水) 20:08:15 JST


西尾です。
>
>もちろんそんなことはないのですが:-),とりあえず問題の再現方法を教えて
>もらえますか?
>--
>Tatsuo Ishii
>

まず、pgpool.confですが、

allow_inet_domain_socket = true
port = 9999
backend_host_name = ''
backend_port = 5432
secondary_backend_host_name = '192.168.1.12'
secondary_backend_port = 5432
num_init_children = 10
max_pool = 4
child_life_time = 0
connection_life_time = 0
replication_mode = true
replication_strict = true
replication_timeout = 5000
load_balance_mode = false
replication_stop_on_mistmatch = false

になっています。この状態で、pgpoolを起動させてます。
psコマンドで確認すると、

postgres  2200  2196  0 19:50:31 ?        0:00 pgpool
postgres  2201  2196  0 19:50:31 ?        0:00 pgpool
postgres  2202  2196  0 19:50:31 ?        0:00 pgpool
postgres  2206  2196  0 19:50:31 ?        0:00 pgpool
postgres  2205  2196  0 19:50:31 ?        0:00 pgpool
postgres  2196     1  0 19:50:31 ?        0:00 pgpool
postgres  2199  2196  0 19:50:31 ?        0:00 pgpool
postgres  2198  2196  0 19:50:31 ?        0:00 pgpool
postgres  2204  2196  0 19:50:31 ?        0:00 pgpool
postgres  2203  2196  0 19:50:31 ?        0:00 pgpool
postgres  2197  2196  0 19:50:31 ?        0:00 pgpool

と親+子(num_init_children)で起動しています。

1.psqlを"psql -p 9999 -n test02"で起動します。

2.psqlのコンソールから、

  test02=# \d+ user_list
と入力すると、

server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.

というメッセージが表示されます。(これエラーですよね?)

3.この後、再度psコマンドでpgpoolのプロセスを調べます。

postgres  2200  2196  0 19:50:31 ?        0:00 pgpool
postgres  2201  2196  0 19:50:31 ?        0:00 pgpool
postgres  2202  2196  0 19:50:31 ?        0:00 pgpool
postgres  2205  2196  0 19:50:31 ?        0:00 pgpool
postgres  2196     1  0 19:50:31 ?        0:00 pgpool
postgres  2199  2196  0 19:50:31 ?        0:00 pgpool
postgres  2213  2196  0 19:52:15 ?        0:00 pgpool
postgres  2204  2196  0 19:50:31 ?        0:00 pgpool
postgres  2203  2196  0 19:50:31 ?        0:00 pgpool
postgres  2197  2196  0 19:50:31 ?        0:00 pgpool

で、プロセス2206が落ちてしまっています。(前回は2個一辺に落ちた気が)

上記1から3を繰り返します。
ちなみに、もう一度繰り返すと、
postgres  2200  2196  0 19:50:31 ?        0:00 pgpool
postgres  2201  2196  0 19:50:31 ?        0:00 pgpool
postgres  2202  2196  0 19:50:31 ?        0:00 pgpool
postgres  2196     1  0 19:50:31 ?        0:00 pgpool
postgres  2199  2196  0 19:50:31 ?        0:00 pgpool
postgres  2204  2196  0 19:50:31 ?        0:00 pgpool
postgres  2203  2196  0 19:50:31 ?        0:00 pgpool
postgres  2197  2196  0 19:50:31 ?        0:00 pgpool

で、1度で2213と2205のプロセスが落ちました。
(これ以降はプロセスは2個ずつ落ちていきました。)

これを繰り返してると、親プロセスだけになり、
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset:

と表示され、この状態で固まります。
Ctrl+Cで強制終了させ、プロセスを確認すると、

postgres  2196     1  0 19:50:31 ?        0:00 pgpool

上記の様に、親プロセスだけになります。
この状態で、"psql -p 9999 -n test"とすると、psql起動中で固まってし
まいます。

手っ取り早い再現というと上記の方法になりますが、これでよいでしょうか。




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