[pgsql-jp: 37839] Re: kind mismatch between backends

Hisakazu Nakai nakai @ shinko.co.jp
2006年 12月 22日 (金) 14:36:53 JST


中井です。

ありがとうございます。

Tatsuo Ishii wrote:
> とりあえずエラーが発生したときのpgpoolのエラーログを見せていただけます
> か?  また,同じテーブルに関する他の種類のSELECT文ではエラーは出ないの
> でしょうか?

必ずエラーが出るわけではないです。

2006-12-22 08:31:00 LOG:   pid 22580: statement: show pool_status
;
2006-12-22 08:31:01 LOG:   pid 22930: statement:  RESET ALL
2006-12-22 08:31:01 LOG:   pid 22930: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:31:01 LOG:   pid 22930: statement: DEALLOCATE "S_1"
2006-12-22 08:31:01 LOG:   pid 22930: statement: DEALLOCATE "S_2"
2006-12-22 08:31:14 LOG:   pid 22930: statement:  RESET ALL
2006-12-22 08:31:14 LOG:   pid 22930: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:31:14 LOG:   pid 22930: statement: DEALLOCATE "S_1"
2006-12-22 08:31:14 LOG:   pid 22930: statement: DEALLOCATE "S_2"
2006-12-22 08:31:22 LOG:   pid 22930: statement:  RESET ALL
2006-12-22 08:31:22 LOG:   pid 22930: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:31:22 LOG:   pid 22930: statement: DEALLOCATE "S_1"
2006-12-22 08:31:22 LOG:   pid 22930: statement: DEALLOCATE "S_2"
2006-12-22 08:31:39 LOG:   pid 22580: statement:  RESET ALL
2006-12-22 08:31:39 LOG:   pid 22580: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:32:12 ERROR: pid 22580: read_kind: kind does not match
between backends master(82) secondary(69)
2006-12-22 08:32:46 LOG:   pid 22580: statement: select * from workflow
2006-12-22 08:33:14 LOG:   pid 22580: statement:  RESET ALL
2006-12-22 08:33:14 LOG:   pid 22580: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:33:36 LOG:   pid 22580: statement: select * from workflow
2006-12-22 08:33:36 LOG:   pid 22580: statement:  RESET ALL
2006-12-22 08:33:36 LOG:   pid 22580: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:34:18 LOG:   pid 22930: statement: select * from workflow
2006-12-22 08:35:46 ERROR: pid 22930: ProcessFrontendResponse: failed to
read kind from frontend. fronend abnormally exited
2006-12-22 08:35:46 LOG:   pid 22930: do_child: exits with status 1 due
to error
2006-12-22 08:37:00 LOG:   pid 22580: statement:  RESET ALL
2006-12-22 08:37:00 LOG:   pid 22580: statement:  SET SESSION
AUTHORIZATION DEFAULT
2006-12-22 08:37:00 LOG:   pid 22580: statement: DEALLOCATE "S_1"
2006-12-22 08:37:00 LOG:   pid 22580: statement: DEALLOCATE "S_2"
2006-12-22 08:39:02 ERROR: pid 22580: pool_check_fd: data is not ready
tp->tv_sec 5 tp->tp_usec 5000000
2006-12-22 08:39:02 ERROR: pid 22580: pool_process_query: secondary data
is not ready at synchronous point. abort this session
2006-12-22 08:39:02 ERROR: pid 22580: pool_process_query: kind does not
match between backends master(E) secondary( (~'@)
2006-12-22 08:39:02 ERROR: pid 22580: health check failed during write.
master  at port 9999 is down
2006-12-22 08:39:02 LOG:   pid 22580: notice_backend_error: master: 1
fail over request from pid 22580
2006-12-22 08:39:02 LOG:   pid 12091: starting degeneration. shutdown
master host (9999)
2006-12-22 08:39:02 LOG:   pid 12091: degeneration done. shutdown master
host (9999)

pid 22580 は、ssh で入って psql でデータベースを検査していた
ところです。show pool_status; の結果は正常でした。
動作チェックで select * を行う前に、最初のエラーメッセージが
出ています。でも画面(psql)では、エラーがでませんでした。
何回かやっているうちにハングしてしまいました。
従って、この時点では、データベースに異常があったとはわかりません
でした。
# 変ですね。

エラー行 08:39:02 の secondary の kind は化けています。
この時点でアプリケーションがエラーを返し、アプリケーションのログに
kind does not smatch が残りました。
このあとしばらくたってから、エラーメッセージ(08:39:02のもの)メールが
届いて気づきました。縮退運転に入るとメールを飛ばすようにしてあるのです。
08:32:12の時点では、縮退運転に入っていませんでした。
# これも変ですね。

宜しくお願いします。

追伸:エラーログファイルはopenしぱなっしなんですね。logrotateしようと
   しましたが、rotateした最新ファイルは空でした。あせりました。

-- 
-=-=-=-=  SHINKO ELECTRIC INDUSTRIES CO., LTD.           =-=-=-=-
=-=-=-=-    Research & Development Div.                  -=-=-=-=
-=-=-=-=      Infomation Technology Research Dept.       =-=-=-=-
=-=-=-=-  Name:Hisakazu Nakai          TEL:026-263-3922  -=-=-=-=
-=-=-=-=  Mail:nakai @ shinko.co.jp      FAX:026-263-4562  =-=-=-=-



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