待辦事項 #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 が返る。

Ticket History (3/4 Histories)

2012-01-23 14:30 Updated by: hibari
  • New Ticket "リアルサーバ全ダウン時に接続すると無応答状態となる" created
2012-01-23 14:46 Updated by: hibari
  • Details Updated
評語

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

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

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

2012-09-13 17:13 Updated by: hibari
  • 狀態 Update from 開啟 to 關閉
  • Ticket Close date is changed to 2012-09-13 17:13
評語

v3.0.4にて修正済み。

Attachment File List

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

編輯

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登入