From morisita.tooru @ nttcom.co.jp Tue Mar 30 11:05:45 2010 From: morisita.tooru @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCPzkyPEUwGyhC?=) Date: Tue, 30 Mar 2010 11:05:45 +0900 Subject: [Ultramonkey-l7-develop 585] Re: =?iso-2022-jp?b?c29ycnlzZXJ2ZXIgGyRCQFokakJYJCgkTklUNnEbKEI=?= =?iso-2022-jp?b?GyRCOWckSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: <4BB15C79.8000009@nttcom.co.jp> 竹林様 森下です。 状況を少し確認したいのですが、 conn.c:1150のERROR発生位置を見ると、 Sorry状態のチェック結果は「Sorry状態ではない」であったが、 この接続は現在SorryServer接続中なので、RealServer切戻すために l7vs_sched_sorry_dest()で、SorryServer接続前に接続していた RealServer(つまりold_dest)を取得している処理ですよね。 すると、SorryServer→RealServer切戻しに失敗、切断される。 という事象でよいのでしょうか? (SorryServerへ振り分けられないという事象ではない?) (2010/03/29 15:23), Shinya TAKEBAYASHI wrote: > 竹林です. > > > 2.1.3-0(以前のバージョンも含む?)において,sorryserver へ正しく > 振り分けられない不具合が見つかりました. > > > 現象としては,ESTABLISHED セッションが maxconn を超過した場合に > 本来であれば -b で指定した sorryserver に振り分けられるはずが, > セッション切断となります. > > なお,l7vsadm 〜 -f 1 で sorry フラグを ON にした場合や, > リアルサーバが存在しなくなった場合は,仕様通りに sorryserver へ > 振り分けられることを確認しています. > > > > ちなみに,切断された際に出力されたログは下記の通りです. > > > 2010/03/29 10:03:11 [ERROR] l7vsd_network VSD40010020 error / old real-server > dest NG nikuman 0x7fe50e83e760 conn.c:1150 > > 2010/03/29 10:03:11 [ERROR] l7vsd_network VSD40010016 error / is realserver > connected failed nikuman 0x7fe50e83e760 conn.c:898 > > 2010/03/29 10:03:11 [ERROR] l7vsd_network VSD40010009 error / cl_callback/ > client receiving failed nikuman 0x7fe50e83e760 conn.c:708 > > > conn.c:l7vs_conn_is_rs_connected() 内で l7vs_sched_sorry_dest() を > 呼んだときに old_dest(NULL)が返ってくるあたりが怪しいので > 少し追ってみようと思っています. > > 他にも情報をお持ちの方,提供頂けると助かります. > > ----------------------------------------------------------- > Shinya TAKEBAYASHI > > E-mail: takebayashi.shinya @ oss.ntt.co.jp > GPG ID: 395EFCE8 > GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 > ----------------------------------------------------------- > > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > > From takebayashi.shinya @ oss.ntt.co.jp Tue Mar 30 11:48:23 2010 From: takebayashi.shinya @ oss.ntt.co.jp (Shinya TAKEBAYASHI) Date: Tue, 30 Mar 2010 11:48:23 +0900 Subject: [Ultramonkey-l7-develop 586] Re: =?iso-2022-jp?b?c29ycnlzZXJ2ZXIgGyRCQFokakJYJCgkTklUNnEbKEI=?= =?iso-2022-jp?b?GyRCOWckSyREJCQkRhsoQg==?= In-Reply-To: <4BB15C79.8000009@nttcom.co.jp> References: <4BB15C79.8000009@nttcom.co.jp> Message-ID: 森下 さま 竹林です. > 状況を少し確認したいのですが、 > conn.c:1150のERROR発生位置を見ると、 > Sorry状態のチェック結果は「Sorry状態ではない」であったが、 > この接続は現在SorryServer接続中なので、RealServer切戻すために > l7vs_sched_sorry_dest()で、SorryServer接続前に接続していた > RealServer(つまりold_dest)を取得している処理ですよね。 > > すると、SorryServer→RealServer切戻しに失敗、切断される。 > という事象でよいのでしょうか? > (SorryServerへ振り分けられないという事象ではない?) sorry に振り分けられようとしたが,切断された,というものです. 結果的には sorry には振り分けられません. 下記の手順で再現します. 1. 仮想サービスを作成(最大 1 接続まで) # l7vsadm -A -t virtual:http -m sessionless -b sorry:http -u 1 # l7vsadm -a -t virtual:http -m sessionless -r rs:http 2. 複数の端末から telnet term1# telnet virtual http Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. term2# telnet virtual http Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 3. term1 で get 発行 GET / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 30 Mar 2010 02:41:07 GMT Server: Apache/2.2.9 (Debian) proxy_html/3.0.0 Last-Modified: Mon, 02 Feb 2009 02:13:17 GMT ETag: "111b0e-2d-461e619056940" Accept-Ranges: bytes Content-Length: 45 Vary: Accept-Encoding Connection: close Content-Type: text/html

It works!

Connection closed by foreign host. 4. term2 で get 発行 GET / HTTP/1.0 Connection closed by foreign host. ちなみに 3 と 4 の手順を逆に実施しても,sorry に振り分けられることが無く 切断されます. # 出力されるログは同じ 新しく作成された conn なので,old_dest には NULL が入っています. l7vs_sched_sorry_dest を呼ぶときに reverse を 0 にするだけで良いかと 思ったりするのですが,ダメでしょうか. ----------------------------------------------------------- Shinya TAKEBAYASHI E-mail: takebayashi.shinya @ oss.ntt.co.jp GPG ID: 395EFCE8 GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 ----------------------------------------------------------- From tateishi.katsuyuki @ oss.ntt.co.jp Tue Mar 30 13:41:58 2010 From: tateishi.katsuyuki @ oss.ntt.co.jp (TATEISHI Katsuyuki) Date: Tue, 30 Mar 2010 13:41:58 +0900 (JST) Subject: [Ultramonkey-l7-develop 587] Re: [SCM] ultramonkey-l7-v2 (ultramonkey-l7) branch, buildenv, created. v2.1.3-0-12-g4c82c60 In-Reply-To: <1269915922.239287.8195.nullmailer@users.sourceforge.jp> References: <1269915922.239287.8195.nullmailer@users.sourceforge.jp> Message-ID: <20100330.134158.1055929315366689105.tateishi.katsuyuki@oss.ntt.co.jp> 立石です。 さきほど push した buildenv ブランチの変更点サマリーです。 [1] l7directord に埋め込まれていたバージョン番号を make 時に 自動でパッケージのバージョン番号に置換するようにした。 [2] 各種スクリプト、設定ファイルの /var とか /usr/sbin のよ うな ${prefix} を無視した埋め込みパスを make 時に ./configure で与えられた prefix 等をもとに自動で置換する ようにした。 [3] configure.ac で直接定義していたパッケージのバージョン番 号を git のタグをもとに自動で付与するようにした。 [4] リリースアーカイブを make release で、 rpm を make rpm で それぞれ作成できるようにした。 興味のある人はコメントください。 # まだ maint へのマージまでには rebase する可能性があるので、 # ご注意ください。 ## commit log にスペルミスが...w ●変更にともなう注意事項等 * ユーザ向け - 特にありません。インストール方法・プログラムの動作等には 影響ないはずです。 * 開発者全般向け - 今後 prefix の影響を受ける path は直接埋め込まず、 "@sbindir@" などの make 時に確定される置換用マーカーを埋 め込んでください。ただし、initscriptの仕様上確定している パス(一部の/var, /etc)はそのまま埋め込んでください。[2] * l7directordメンテナ向け - ソースツリー上のファイル名が l7directord.pl になります。[1][2] - 今後はリリースごとに $VERSION の値をいじる必要はありませ ん。l7directord.pl では '@PACKAGE_VERSION@' のままにして おいてください。[1] - l7directord.pl のままでは動かせないので、インストールし ないままで動作確認等する場合は make して l7directord を 生成してから行ってください。[2] * リリースエンジニア向け - リリース時にはアノテーションタグつけてから make release, make rpm してください。タグ名を元にバージョン名を自動で付 与します。 - タグ名は今までどおりの付与規則でつければOKです。(UML7v2系 では "v..-

" という形式を期待しています) - バージョン名はアノテーションタグがついているコミットの場 合、タグの先頭の v を削除した文字列がそのままバージョン番 号になります。アノテーションタグがついていないコミットの 場合、X.Y.Z-P.C.gBADF00D が付きます。X.Y.Z-Pはタグの値、 Cはそのタグからのコミット数、BADF00D は今いるコミットのハッ シュ値の先頭7桁です。git status で modified file または staged file がある場合、BADF00Dの後ろに .dirty が付きます。 - 新しく利用可能な make target は以下の通り: release distcheck とほぼ同等ですが、バージョン番号を記録する VERSION ファイルを消して autoreconf したうえで make distcheck するので、必ず正しいバージョン番号がついたリ リースアーカイブを作成します。 rpm リリースアーカイブから rpm をビルドします。rpm はコマン ドを呼び出したユーザの rpm macro の %_topdir ツリー配下 に格納されます。make したディレクトリ直下にできるわけで はないのでご注意を。 -- TATEISHI Katsuyuki wrote: > This is an automated email from the git hooks/post-receive script. It was > generated because a ref change was pushed to "ultramonkey-l7-v2" repository > containing the "ultramonkey-l7" project. > > The branch, buildenv has been created > at 4c82c6067c38466180026bc58d1871931daf9ae5 (commit) > > - Log ----------------------------------------------------------------- > commit 4c82c6067c38466180026bc58d1871931daf9ae5 > Merge: a3e70d72e4f34f759b8da26433ec258b2b9ea29e 06581d318aa5f7451438ec1f91344c5ba011fe59 > Author: TATEISHI Katsuyuki > Date: Mon Mar 29 19:13:53 2010 +0900 > > Merge branch 'duplicated-logcheck' into buildenv > > commit a3e70d72e4f34f759b8da26433ec258b2b9ea29e > Author: TATEISHI Katsuyuki > Date: Tue Mar 23 18:33:20 2010 +0900 > > Delete some embedded directories from init.d/l7vsd and conf/l7vs.cf. > > LOCFILE's paths are still embedded '/var/...' because they are in > the manner of RedHat initscripts. > > commit 0194b805134b21da207c065900a896a4ec180f6a > Author: TATEISHI Katsuyuki > Date: Tue Mar 23 18:17:28 2010 +0900 > > Delete some embedded directories from the l7directord scripts. > > commit de2a716e24093fe482112f1df59bf683f87ba4ab > Author: TATEISHI Katsuyuki > Date: Tue Mar 23 17:27:22 2010 +0900 > > l7directord: Add version number replacement for build time. > > commit c65eb892f1bd85ae793ccc02ce6c14e21eb7d20e > Author: TATEISHI Katsuyuki > Date: Mon Mar 29 13:32:45 2010 +0900 > > Add automatic version numbering. > > commit 03b1346e9b9003dcf2e1b551506fc0b40e7c1dd2 > Author: TATEISHI Katsuyuki > Date: Mon Mar 29 13:32:11 2010 +0900 > > Convert version numbering hacks from configure.ac into Makefile.am > > commit 108d8584927f90c3e7e362640c59f89d15db947f > Author: TATEISHI Katsuyuki > Date: Tue Mar 23 14:54:42 2010 +0900 > > Add ultramonkey-l7.spec to EXTRA_DIST for 'rpmbuild -ta' > > ----------------------------------------------------------------------- > > > hooks/post-receive > -- > ultramonkey-l7-v2 (ultramonkey-l7) > > _______________________________________________ > Ultramonkey-l7-rcs mailing list > Ultramonkey-l7-rcs @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-rcs From takebayashi.shinya @ oss.ntt.co.jp Tue Mar 30 15:50:08 2010 From: takebayashi.shinya @ oss.ntt.co.jp (Shinya TAKEBAYASHI) Date: Tue, 30 Mar 2010 15:50:08 +0900 Subject: [Ultramonkey-l7-develop 588] Re: =?iso-2022-jp?b?c29ycnlzZXJ2ZXIgGyRCQFokakJYJCgkTklUNnEbKEI=?= =?iso-2022-jp?b?GyRCOWckSyREJCQkRhsoQg==?= In-Reply-To: <4BB18820.1090605@nttcom.co.jp> References: <4BB15C79.8000009@nttcom.co.jp> <4BB18820.1090605@nttcom.co.jp> Message-ID: 森下 様 竹林です. お疲れ様です. > l7vs_conn_is_rs_connectedで行っているSorry処理は、すでに接続中のものを > RealServer→SorryServer接続へ > もしくは > SorryServer→RealServer接続へ > 切り替える処理の部分であって、新規接続のSorryServerへの接続処理は、 > lsock.cのl7vs_lsock_select_serviceで行っているはずですね。 > > 今回の場合だと、l7vs_conn_is_rs_connectedの処理では > if (-1 != conn->riom->fd) { > のelse節(l7vs_lsock_select_serviceを実行しているところ) > で処理されていなければいけません。 gdb でトレースしてみたところ,この else 節は無事に 通っているようです. ところで,l7vs_conn_is_rs_connected が呼ばれる箇所というのは [1] 新しくコネクションが張られた l7vs_conn_create 関数内 これが,上記 else 節に入っていくパタン [2] クライアントからパケットを受信した l7vs_conn_client_receiving 関数内 iom の状態が iomux_conn_received の時 のふたつがあり,今回変(?)なルートに突入しているのは後者だと思います. ところで,reverse が 1 の状態で l7vs_sched_sorry_check が 呼ばれるためには,sorry_state が 0 になっている必要があります. 森下さんがおっしゃった,sorry 解除で元のリアルサーバに・・・という 処理が,これに当たると思います. で,-u を超えた状態で [2] に突入した場合の処理を追ってみたのですが, l7vs_sched_sorry_check が 0 を返す = srv->sorry_flag が 0 のままに なっているのは大丈夫なのでしょうか. 試しに,ここにブレイクポイントを仕掛けて srv->sorry_flag を 書き換えたところ,sorry サーバへ転送されることが確認できました. この srv->sorry_flag の書き換え箇所が正しいか洗ってみた方が良いでしょうか. ----------------------------------------------------------- Shinya TAKEBAYASHI E-mail: takebayashi.shinya @ oss.ntt.co.jp GPG ID: 395EFCE8 GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 ----------------------------------------------------------- From morisita.tooru @ nttcom.co.jp Tue Mar 30 17:23:31 2010 From: morisita.tooru @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCPzkyPEUwGyhC?=) Date: Tue, 30 Mar 2010 17:23:31 +0900 Subject: [Ultramonkey-l7-develop 589] Re: =?iso-2022-jp?b?c29ycnlzZXJ2ZXIgGyRCQFokakJYJCgkTklUNnEbKEI=?= =?iso-2022-jp?b?GyRCOWckSyREJCQkRhsoQg==?= In-Reply-To: References: <4BB15C79.8000009@nttcom.co.jp> <4BB18820.1090605@nttcom.co.jp> Message-ID: <4BB1B503.1020708@nttcom.co.jp> $BC]NSMM(B $B?92<$G$9!#(B $B$3$A$i$G$b=hM}$r @ 0M}$7$F$_$^$7$?!#(B $B860x$O!"(BV2$B$N$I$3$+!J!)!K$G9T$C$?(Bfast_schedule$B$N5!G=DI2C$K$h$k(B Connect$B5sF0$N:9$K$h$k$b$N$K$J$j$^$9!#(B $B!J(BV2$B=i4|%j%j!<%9HG$K$OL5$+$C$?5!G=$G!"C]NS$5$s$N$$$&!"(B[1]$B$N(B $B%k!<%H$K$J$j$^$9!K(B $B0J2/$79M$($F8+$^$9!#(B $BNc$($P!z$N2U=j$G!"(Bmax_conn$B$bH=Dj$9$l$P(BOK$B$N$h$&$K8+$($^$9$,!"@\B3?t$,(B $BA}2C$9$k$H!"(Bmax_conn$B0J2<$G@\B3$7$?4{B8@\B3$b(BSorry$B$K?6$i$l$F$7$^$$$^$9!#(B $B!J(Bfast_schedule$B;~$K$O!"-$$+!"-'$NH=Dj$H$J$k$h$&>.:Y9)$,I,MW$+$J!)!K(B $BL/0F$,$"$j$^$7$?$i!"$4;XE&$*4j$$$$$?$7$^$9!#(B (2010/03/30 15:50), Shinya TAKEBAYASHI wrote: > $B?92<(B $BMM(B > > > $BC]NS$G$9!%(B > $B$*Hh$lMM$G$9!%(B > > >> l7vs_conn_is_rs_connected$B$G9T$C$F$$$k(BSorry$B=hM}$O!"$9$G$K@\B3Cf$N$b$N$r(B >> RealServer$B"*(BSorryServer$B@\B3$X(B >> $B$b$7$/$O(B >> SorryServer$B"*(BRealServer$B@\B3$X(B >> $B @ Z$jBX$($k=hM}$NItJ,$G$"$C$F!"?75,@\B3$N(BSorryServer$B$X$N@\B3=hM}$O!"(B >> lsock.c$B$N(Bl7vs_lsock_select_service$B$G9T$C$F$$$k$O$:$G$9$M!#(B >> >> $B:#2s$N>l9g$@$H!"(Bl7vs_conn_is_rs_connected$B$N=hM}$G$O(B >> if (-1 != conn->riom->fd) { >> $B$N(Belse$B @ a!J(Bl7vs_lsock_select_service$B$r> $B$G=hM}$5$l$F$$$J$1$l$P$$$1$^$;$s!#(B > > gdb $B$G%H%l!<%9$7$F$_$?$H$3$m!$$3$N(B else $B @ a$OL5;v$K(B > $BDL$C$F$$$k$h$&$G$9!%(B > > > $B$H$3$m$G!$(Bl7vs_conn_is_rs_connected $B$,8F$P$l$k2U=j$H$$$&$N$O(B > > [1] $B?7$7$/%3%M%/%7%g%s$,D%$i$l$?(B > > l7vs_conn_create $B4X?tFb(B > > $B$3$l$,!$>e5-(B else $B @ a$KF~$C$F$$$/%Q%?%s(B > > > [2] $B%/%i%$%"%s%H$+$i%Q%1%C%H$r > l7vs_conn_client_receiving $B4X?tFb(B > > iom $B$N>uBV$,(B iomux_conn_received $B$N;~(B > > > $B$N$U$?$D$,$"$j!$:#2sJQ!J!)!K$J%k!<%H$KFMF~$7$F$$$k$N$O8e > $B$H$3$m$G!$(Breverse $B$,(B 1 $B$N>uBV$G(B l7vs_sched_sorry_check $B$,(B > $B8F$P$l$k$?$a$K$O!$(Bsorry_state $B$,(B 0 $B$K$J$C$F$$$kI,MW$,$"$j$^$9!%(B > > $B?92<$5$s$,$*$C$7$c$C$?!$(Bsorry $B2r=|$G85$N%j%"%k%5!<%P$K!&!&!&$H$$$&(B > $B=hM}$,!$$3$l$KEv$?$k$H;W$$$^$9!%(B > > > $B$G!$(B-u $B$rD6$($?>uBV$G(B [2] $B$KFMF~$7$?>l9g$N=hM}$rDI$C$F$_$?$N$G$9$,!$(B > l7vs_sched_sorry_check $B$,(B 0 $B$rJV$9(B $B!a(B srv->sorry_flag $B$,(B 0 $B$N$^$^$K(B > $B$J$C$F$$$k$N$OBg>fIW$J$N$G$7$g$&$+!%(B > > $B;n$7$K!$$3$3$K%V%l%$%/%]%$%s%H$r;E3]$1$F(B srv->sorry_flag $B$r(B > $B=q$-49$($?$H$3$m!$(Bsorry $B%5!<%P$XE>Aw$5$l$k$3$H$,3NG'$G$-$^$7$?!%(B > > $B$3$N(B srv->sorry_flag $B$N=q$-49$(2U=j$, @ 5$7$$$+ @ v$C$F$_$?J}$,NI$$$G$7$g$&$+!%(B > > ----------------------------------------------------------- > Shinya TAKEBAYASHI > > E-mail: takebayashi.shinya @ oss.ntt.co.jp > GPG ID: 395EFCE8 > GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 > ----------------------------------------------------------- > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > > -------------- next part -------------- $BJ8;z%3!<%I;XDj$NL5$$E:IUJ8=q$rJ]4I$7$^$7$?(B... $BL>A0(B: Sorry$B=hM}%a%b(B.txt URL: http://lists.sourceforge.jp/mailman/archives/ultramonkey-l7-develop/attachments/20100330/8fbbe7ec/attachment.txt