チケット #27216

リアルサーバ全ダウン時に接続すると無応答状態となる

登録: 2012-01-23 14:30 最終更新: 2012-09-13 17:13

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
1

詳細

Sorryサーバを設定していない状態で、リアルサーバが全ダウンした場合に、クライアントがUM-L7に接続すると、レスポンスが返ってこないため、応答を待ち続けてだんまり状態となる。
(クライアントによってはタイムアウトとなる)

Sorryサーバを設定している状態でも、リアルサーバが全ダウンかつ、Sorryサーバもダウンしている場合は上記と同じ症状となる。

本事象はUltraMonkey-L7-v3.0.3で発生しており、v3.0.1では発生しない。
v2.xやv3.0.1ではクライアントから接続すると UltraMonkey から即座に RST が返る。

チケットの履歴 (4 件中 3 件表示)

2012-01-23 14:30 更新者: hibari
  • 新しいチケット "リアルサーバ全ダウン時に接続すると無応答状態となる" が作成されました
2012-01-23 14:46 更新者: hibari
  • 詳細が更新されました
コメント

■本事象の原因
①UMがCLからのアクセスを受け付ける
②UMがRSに接続を試みる(失敗する)
③UMがSorryServerに接続を試みる(失敗する)
④UMがCLとの通信を切断する。

この③の処理に問題がありました。
接続が成功or失敗するまでループ処理で待ちに入るのですが、接続に失敗した場合にループから外れるためのフラグが立てられていませんでした。
そのため③から④に処理が進まず、無応答状態となっておりました。

修正patchを添付します。
・upthread_status がUPTHREAD_LOCKになったままで、UPTHREAD_ACTIVEに変更されていなかったた点を修正。
・sorryserver_socketの初期化処理が行われていなかったため、併せて修正。

2012-09-13 17:13 更新者: hibari
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2012-09-13 17:13 に更新されました
コメント

v3.0.4にて修正済み。

添付ファイルリスト

  • realsever_all_down.patch(786バイト)
    • リアルサーバ全ダウン時に接続すると無応答状態となる問題の修正パッチ

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする