チケット #29144

SSL clear_socketエラー対処

登録: 2012-07-30 11:08 最終更新: 2012-09-04 13:51

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

詳細

クライアント数12000のTPCWによるhttps通信負荷を30分かける試験をすると、 50回に1回の割合でcoreを吐く。

対処として、sslのときsocket.clear_socket()をio_serviceの workerスレッドに登録して処理するようにし、それによって clear_socket()の処理をシリアライズ化する。

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

2012-07-30 11:08 更新者: hiroakinakano
  • 新しいチケット "SSL clear_socketエラー対処" が作成されました
2012-07-30 11:10 更新者: hiroakinakano
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました
  • チケット完了時刻2012-07-30 11:10 に更新されました
2012-07-30 14:27 更新者: hiroakinakano
コメント

patchは#29143を当てた後のコードとの差分

2012-08-24 11:18 更新者: hiroakinakano
  • 状況完了 から オープン に更新されました
コメント

デバッグ用にエラーメッセージをinfoからerrorにしていた箇所がそのまま残っていた。

2012-08-28 10:27 更新者: hiroakinakano
コメント

tcp_session.cpp L908にて、メッセージ処理をすべきところをnext_call_functionを呼んでいた。 メッセージを実行するように処理を変更する。

2012-09-04 13:47 更新者: hiroakinakano
コメント

メッセージ実行ループの最初にtimed_waitを入れているので、すでにmsgに値が入っていても無駄にwaitするようになっていたのを改善

2012-09-04 13:50 更新者: hiroakinakano
コメント

close処理メッセージのところでは、close処理以外のメッセージを処理することを想定していない。したがって、message_queueに溜まっているclose以外の処理は、直前にすべて廃棄する必要がある。その処理を追加。

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

v3.0.4-2にここまでの修正が取り込まれたので、完了とする。

添付ファイルリスト

編集

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