プロジェクト

全般

プロフィール

Defect #273

Internal error occurs when hudson has no response.

Haru Iida8年以上前に追加. 約8年前に更新.

ステータス:
終了(Closed)
優先度:
通常(Normal)
担当者:
対象バージョン:
開始日:
2010/01/11
期日:
進捗率:

100%

予定工数:

説明

Hudsonが重くて応答が無い場合、HudsonプラグインでInternal Errorが発生します。

Timeout::Error (execution expired):
    /usr/local/lib/ruby/1.8/timeout.rb:60:in `rbuf_fill'
    /usr/local/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill'
    /usr/local/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
    /usr/local/lib/ruby/1.8/net/protocol.rb:126:in `readline'
    /usr/local/lib/ruby/1.8/net/http.rb:2020:in `read_status_line'
    /usr/local/lib/ruby/1.8/net/http.rb:2009:in `read_new'
    /usr/local/lib/ruby/1.8/net/http.rb:1050:in `request'
    /usr/local/lib/ruby/1.8/net/http.rb:1037:in `request'
    /usr/local/lib/ruby/1.8/net/http.rb:543:in `start'
    /usr/local/lib/ruby/1.8/net/http.rb:1035:in `request'
    /vendor/plugins/redmine_hudson/app/helpers/hudson_helper.rb:16:in
`open_hudson_api'

関係しているリビジョン

リビジョン 102:154497b1d2de (差分)
Toshiyuki Ando8年以上前に追加

fixes #273
specify error class

履歴

#1 Toshiyuki Ando8年以上前に更新

うーん。

    begin
      response = http.request(request)
    rescue => error
      raise HudsonApiException.new(error)
    end

ではキャッチできないらしい。ちょっとググってみたら…。

◆Timeout::Error に注意
http://d.hatena.ne.jp/dreammind/20090217/1234813224

  • rescueはエラータイプを省略するとStandartErrorのサブクラスの例外を捕捉する
  • Timeout::ErrorはInterruptを継承したクラスでStanderErrorには属していない

気をつけねば…。

#2 Toshiyuki Ando8年以上前に更新

  • ステータス新規(New) から 解決(Resolved) に変更
  • 進捗率0 から 100 に変更

更新履歴 r416 で適用されました。

#3 Toshiyuki Ando8年以上前に更新

  • 対象バージョン1.0.2 にセット

#4 Toshiyuki Ando約8年前に更新

  • ステータス解決(Resolved) から 終了(Closed) に変更

他の形式にエクスポート: Atom PDF