[pgcluster: 245] スレーブDBに接続すると応答が戻らない

Hiroaki Murayama seabison @ cappy.co.jp
2004年 4月 16日 (金) 10:05:48 JST


This is a multi-part message in MIME format.

------=_NextPart_000_0046_01C4239A.6460AE90
Content-Type: text/plain;
	charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

はじめて投稿させていただきます。CATS(株)村山といいます。

この4月に pgCluster を使用した基幹システムをカットオーバーしました。
通常は問題なく動作しているのですが、スレーブDBに対し接続した場合に応答が戻
らず、
レプリケーションも停止するという現象が発生しています。

[システム環境]
ロードバランサ×1台(ホスト名:pglb01)
クラスタDB×2台(ホスト名:pgdb01 および pgdb02)
レプリケータ×1台(ホスト名:pgrp01)

・使用OS すべて Redhat Linux 9
・pgCluster 1.0.6b(フルパッケージ版)
・pgdb01がマスター,pgdb02がスレーブ

アプリケーション上では、ロードバランサに対して接続しているものと、pgdb01に対
して直接に接続
しているものの2通りあります。これは一部のViewがロードバランサ経由ではうまく
アクセスできなかったため
このような接続形態にしています。

[現象]
スレーブDBに対し接続した場合、応答が戻らない。
pgdb02 のコンソール上で psql (DB名) と入力すると、通常は psqlのプロンプトが
表示されるのですが
これが出てこない状態です。レプリケータ上では、pgdb02が ERROR となり、以後レ
プリケートされません。

ここでレプリケータを pgreplicate stop で終了させると、pgdb02側では psqlのプ
ロンプトが表示され、
以降の操作は通常どおり実行できるようになります。

マスターのpgdb01では、psql で接続しても問題は発生していません。
この現象は、クライアントPCからのODBC接続および pgdb02上の pgdump の実
行時でも発生しています。

[現在までの対応]
psql でのログインに対するレプリケータのログは次のようになっていました。

01:DEBUG(insertTransactionTbl): sem_unlock[1]
02:DEBUG(get_ip_by_name): same host:5432 @ ca03a8c0 - 5432 @ ca03a8c0
03:
04:DEBUG(get_ip_by_name): 5432 @ PGDB02 return trigger
05:DEBUG(get_ip_by_name): sem_lock[2]
06:DEBUG(return_result): 128[2,1081620650,748270]
07:DEBUG(return_result): return_result[2,1081620650,748270]
08:DEBUG(return_result): 128 send
09:DEBUG(return_result): wait for answer
10:DEBUG(return_result): read_answer selected
11:
12:DEBUG(read_packet): query size=67
13:DEBUG(read_packet): read query
14:DEBUG(read_packet): answer[ SELECT usesuper FROM pg_catalog.pg_user WHERE
usename = 'postgres']
15:DEBUG(read_packet): status of return_result[-1]
16:DEBUG(read_packet): sem_unlock[2]
17:ERROR(PGRsem_unlock): PGDB02[5432] should be down
18:ERROR(send_packet): PGR_Create_Socket_Connect failed
19:DEBUG(replicate_loop): wait replicate

14行目が正常な戻りではないため、この現象が発生していることは確認できまし
た。
そのため、pgdb02のデータベースの再構築を以下の手順で実行しましたが、これでも
状況は変わりませんでした。
    (1) /usr/local/pgsql/data の削除
    (2) initdb再実行
    (3) pgdumpで作成した pgdb01のバックアップデータのロード

この現象はDB構築直後およびシステムテスト時には発生していませんでした。どこ
かのタイミングで pgdb02 の
スキーマ情報に問題が起こったのではと推測しているのですが、現在対応の手立てが
思いつかないところです。

この件で何か皆様からアドバイスいただきたいのですが、よろしくお願いいたしま
す。

以上

=======================================================
=    CATS株式会社 ソリューションシステム部 村山博章
=       福岡市博多区博多駅南1-8-31 九州ビル3F
=       Tel 092-411-5550
=       eMail seabison @ cappy.co.jp
=======================================================

------=_NextPart_000_0046_01C4239A.6460AE90
Content-Type: text/html;
	charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-2022-jp">
<META content=3D"MSHTML 6.00.2800.1170" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B$O$8$a$FEj9F$5$;$F$$$?$@$-$^$9!##C#A#T#S-jB<;3$H$$$$$^$9!#=1B=
(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>=1B$B$3$N#47n$K=1B(B pgCluster =

=1B$B$r;HMQ$7$?4p44%7%9%F%`$r%+%C%H%*!<%P!<$7$^$7$?!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$BDL>o$OLdBj$J$/F0:n$7$F$$$k$N$G$9$,!"%9%l!<%V#D#B$KBP$7@\B3$=
7$?>l9g$K1~Ez$,La$i$:!"=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B%l%W%j%1!<%7%g%s$bDd;_$9$k$H$$$&8=3D>]$,H/@8$7$F$$$^$9!#=1B=
(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B!N%7%9%F%`4D6-!O=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B%m!<%I%P%i%s%5!_#1Bf!J%[%9%HL>!'=1B(Bpglb01=1B$B!K=1B(B</FO=
NT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B%/%i%9%?#D#B!_#2Bf!J%[%9%HL>!'=1B(Bpgdb01 =1B$B$*$h$S=1B(B =

pgdb02=1B$B!K=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B%l%W%j%1!<%?!_#1Bf=1B(B(=1B$B%[%9%HL>!'=1B(Bpgrp01)</FONT><=
/DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>=1B$B!&;HMQ=1B(BOS =
=1B$B$9$Y$F=1B(B Redhat Linux 9</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>=1B$B!&=1B(BpgCluster =
1.0.6b(=1B$B%U%k%Q%C%1!<%8HG!K=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B!&=1B(Bpgdb01=1B$B$,%^%9%?!<!$=1B(Bpgdb02=1B$B$,%9%l!<%V=1B=
(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B%"%W%j%1!<%7%g%s>e$G$O!"%m!<%I%P%i%s%5$KBP$7$F@\B3$7$F$$$k$=
b$N$H!"=1B(Bpgdb01=1B$B$KBP$7$FD>@\$K@\B3=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B$7$F$$$k$b$N$N#2DL$j$"$j$^$9!#$3$l$O0lIt$N=1B(BView=1B$B$,%=
m!<%I%P%i%s%57PM3$G$O$&$^$/%"%/%;%9$G$-$J$+$C$?$?$a=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B$3$N$h$&$J@\B37ABV$K$7$F$$$^$9!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B!N8=3D>]!O=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B%9%l!<%V#D#B$KBP$7@\B3$7$?>l9g!"1~Ez$,La$i$J$$!#=1B(B</FONT=
></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>pgdb02 =
=1B$B$N%3%s%=3D!<%k>e$G=1B(B psql (DB=1B$BL>=1B(B) =
=1B$B$HF~NO$9$k$H!"DL>o$O=1B(B=20
psql=1B$B$N%W%m%s%W%H$,I=3D<($5$l$k$N$G$9$,=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B$3$l$,=3DP$F$3$J$$>uBV$G$9!#%l%W%j%1!<%?>e$G$O!"=1B(Bpgdb02=
=1B$B$,=1B(B ERROR=20
=1B$B$H$J$j!"0J8e%l%W%j%1!<%H=1B(B</FONT><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B$5$l$^$;$s!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>=1B$B$3$3$G%l%W%j%1!<%?$r=1B(B =
pgreplicate stop=20
=1B$B$G=3D*N;$5$;$k$H!"=1B(Bpgdb02=1B$BB&$G$O=1B(B =
psql=1B$B$N%W%m%s%W%H$,I=3D<($5$l!"=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B0J9_$NA`:n$ODL>o$I$*$j<B9T$G$-$k$h$&$K$J$j$^$9!#=1B(B</FONT=
></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B%^%9%?!<$N=1B(Bpgdb01=1B$B$G$O!"=1B(Bpsql=20
=1B$B$G@\B3$7$F$bLdBj$OH/@8$7$F$$$^$;$s!#=1B(B</FONT></DIV></FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B$3$N8=3D>]$O!"%/%i%$%"%s%H#P#C$+$i$N#O#D#B#C@\B3$*$h$S=1B(B=
 pgdb02=1B$B>e$N=1B(B pgdump=20
=1B$B$N<B9T;~$G$bH/@8$7$F$$$^$9!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>=1B$B!N8=3D:_$^$G$NBP1~!O=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>psql=20
=1B$B$G$N%m%0%$%s$KBP$9$k%l%W%j%1!<%?$N%m%0$O<!$N$h$&$K$J$C$F$$$^$7$?!#=1B=
(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" =
size=3D2>01:DEBUG(insertTransactionTbl):=20
sem_unlock[1]<BR>02:DEBUG(get_ip_by_name): same host:5432 @ ca03a8c0 - <A=20
href=3D"mailto:5432 @ ca03a8c0">5432 @ ca03a8c0</A></FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>03:</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>04:DEBUG(get_ip_by_name): 5432 =
@ PGDB02=20
return trigger<BR>05:DEBUG(get_ip_by_name):=20
sem_lock[2]<BR>06:DEBUG(return_result):=20
128[2,1081620650,748270]<BR>07:DEBUG(return_result):=20
return_result[2,1081620650,748270]<BR>08:DEBUG(return_result): 128=20
send<BR>09:DEBUG(return_result): wait for =
answer<BR>10:DEBUG(return_result):=20
read_answer selected</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>11:</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>12:DEBUG(read_packet): query=20
size=3D67<BR>13:DEBUG(read_packet): read query<BR>14:DEBUG(read_packet): =
answer[=20
SELECT usesuper FROM pg_catalog.pg_user WHERE usename =3D=20
'postgres']<BR>15:DEBUG(read_packet): status of=20
return_result[-1]<BR>16:DEBUG(read_packet):=20
sem_unlock[2]<BR>17:ERROR(PGRsem_unlock): PGDB02[5432] should be down=20
<BR>18:ERROR(send_packet): PGR_Create_Socket_Connect=20
failed<BR>19:DEBUG(replicate_loop): wait replicate<BR></FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B#1#49TL\$, @ 5>o$JLa$j$G$O$J$$$?$a!"$3$N8=3D>]$,H/@8$7$F$$$k$=
3$H$O3NG'$G$-$^$7$?!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B$=3D$N$?$a!"=1B(Bpgdb02=1B$B$N%G!<%?%Y!<%9$N:F9=3DC[$r0J2<$=
N<j=3Dg$G<B9T$7$^$7$?$,!"$3$l$G$b>u67$OJQ$o$j$^$;$s$G$7$?!#=1B(B</FONT></=
DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>&nbsp;&nbsp;&nbsp; (1)=20
/usr/local/pgsql/data =1B$B$N:o=3D|=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>&nbsp;&nbsp;&nbsp; (2)=20
initdb=1B$B:F<B9T=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>&nbsp;&nbsp;&nbsp; (3) =
pgdump=1B$B$G:n @ .$7$?=1B(B=20
pgdb01=1B$B$N%P%C%/%"%C%W%G!<%?$N%m!<%I=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B$3$N8=3D>]$O#D#B9=3DC[D>8e$*$h$S%7%9%F%`%F%9%H;~$K$OH/@8$7$=
F$$$^$;$s$G$7$?!#$I$3$+$N%?%$%_%s%0$G=1B(B pgdb02 =
=1B$B$N=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B%9%-!<%^>pJs$KLdBj$,5/$3$C$?$N$G$O$H?dB,$7$F$$$k$N$G$9$,!"8=
=3D:_BP1~$N<jN)$F$,;W$$$D$+$J$$$H$3$m$G$9!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=1B$B$3$N7o$G2?$+3'MM$+$i%"%I%P%$%9$$$?$@$-$?$$$N$G$9$,!"$h$m$7$=
/$*4j$$$$$?$7$^$9!#=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2>=1B$B0J>e=1B(B</FONT></DIV>
<DIV><FONT face=3D"MS UI Gothic" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"MS UI Gothic"=20
size=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D<BR>=3D=1B$B!!!!!!!!#C#A#T#S3t<02q<R!!%=3D%j%e!<%=
7%g%s%7%9%F%`It!!B<;3Gn>O=1B(B<BR>=3D=1B$B!!!!!!!!!!!!!!J!2,;TGnB?6hGnB?1=
XFn=1B(B1-8-31=20
=1B$B6e=3D#%S%k#3#F=1B(B<BR>=3D=1B$B!!!!!!!!!!!!!!-d=1B(B =
092-411-5550<BR>=3D=1B$B!!!!!!!!!!!!!!=1B(BeMail <A=20
href=3D"mailto:seabison @ cappy.co.jp">seabison @ cappy.co.jp</A><BR>=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D</FONT></DIV></BODY></HTML>

------=_NextPart_000_0046_01C4239A.6460AE90--




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