drbrain / net-http-persistent

Thread-safe persistent connections with Net::HTTP
http://seattlerb.rubyforge.org/net-http-persistent
339 stars 117 forks source link

detect_idle_timeout against Amazon ELB #43

Closed raggi closed 11 years ago

raggi commented 11 years ago

Testing against a service behind ELB, with SSL, detect_idle_timeout receives an EOFError, and fails to provide a correct result:

sleeping 60
Exception `EOFError' at /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/openssl/buffering.rb:174 - end of file reached
Exception `EOFError' at /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/protocol.rb:126 - end of file reached
Exception `EOFError' at /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:1331 - end of file reached
Exception `EOFError' at /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/irb/workspace.rb:80 - end of file reached
EOFError: end of file reached
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/openssl/buffering.rb:174:in `sysread_nonblock'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/openssl/buffering.rb:174:in `read_nonblock'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/protocol.rb:141:in `rbuf_fill'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/net/http.rb:1293:in `request'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net/http/persistent.rb:214:in `block in detect_idle_timeout'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net/http/persistent.rb:213:in `loop'
        from /usr/local/rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net/http/persistent.rb:213:in `detect_idle_timeout'
        from (irb):12
        from /usr/local/rbenv/versions/1.9.3-p374/bin/irb:12:in `<main>'