Files | Admin

Notes:

Release Name: 3.2.0

Notes:
Rainbows! 3.2.0 - trying to send files to slow clients

Rainbows! is an HTTP server for sleepy Rack applications.  It is based on
Unicorn, but designed to handle applications that expect long
request/response times and/or slow clients.

* http://rainbows.rubyforge.org/
* rainbows-talk@rubyforge.org
* git://bogomips.org/rainbows.git

Changes:

We now use IO#trysendfile in the sendfile 1.1.0 to reduce the
cost of generating backtraces for slow clients (from EAGAIN).
Nothing new for people not serving static files (but more
on the way).

Existing "sendfile" gem users must upgrade to 1.1.0
or risk being left without sendfile support at all:
 http://bogomips.org/rainbows.git/patch?id=cd8a874d



Changes: GIT-VERSION-GEN | 2 +- README | 4 ++-- Static_Files | 8 ++++---- TODO | 2 +- lib/rainbows/client.rb | 3 ++- lib/rainbows/const.rb | 2 +- lib/rainbows/coolio/client.rb | 25 +++++++++++++------------ lib/rainbows/epoll/client.rb | 11 ++++++----- lib/rainbows/fiber/body.rb | 19 ++++++++++--------- lib/rainbows/response.rb | 10 +++++----- lib/rainbows/revactor/client/methods.rb | 17 +++++++++-------- lib/rainbows/stream_file.rb | 2 +- lib/rainbows/writer_thread_pool/client.rb | 2 +- lib/rainbows/writer_thread_spawn/client.rb | 2 +- rainbows.gemspec | 2 +- t/cramp/rainsocket.ru | 6 +++--- t/cramp/streaming.ru | 4 ++-- t/test_isolate.rb | 11 ++++++----- t/test_isolate_cramp.rb | 2 +- 19 files changed, 70 insertions(+), 64 deletions(-) commit e9cb419a7887fce13fc7b185177c87fc45279383 Author: Eric Wong Date: Tue Mar 15 12:36:10 2011 +0000 Rainbows! 3.2.0 - trying to send files to slow clients We now use IO#trysendfile in the sendfile 1.1.0 to reduce the cost of generating backtraces for slow clients (from EAGAIN). Nothing new for people not serving static files (but more on the way). Existing "sendfile" gem users must upgrade to 1.1.0 or risk being left without sendfile support at all: http://bogomips.org/rainbows.git/patch?id=cd8a874d commit f550b2ac5cdfedba53564609af19db38c302bbf4 Author: Eric Wong Date: Tue Mar 15 12:35:06 2011 +0000 bump Unicorn dependency to 3.5.0 Latest and greatest :D commit c158f140e6a402278602b3be890c2c1dc494465d Author: Eric Wong Date: Thu Mar 10 15:22:06 2011 -0800 doc: update Static_Files for new sendfile gem Ugh, and still no usable IO.copy_stream under 1.9.2 :< commit cd8a874d18fe01e11bb57b91186b6c9f712a4b3f Author: Eric Wong Date: Thu Mar 10 15:06:10 2011 -0800 switch from IO#sendfile_nonblock to IO#trysendfile IO#trysendfile does not raise exceptions for common EAGAIN errors, making it far less expensive to use with the following concurrency models: * Coolio * CoolioFiberSpawn * Revactor * FiberSpawn * FiberPool This requires the new sendfile 1.1.0 RubyGem and removes support for the sendfile 1.0.0. All sendfile users must upgrade or be left without sendfile(2) support. IO#sendfile behaves the same if you're using a multi-threaded concurrency option, but we don't detect nor use it unless IO#trysendfile exists. commit afea5cd7c691de95b37d29728ab4880e3b737a42 Author: Eric Wong Date: Tue Mar 8 14:08:43 2011 -0800 test_isolate: bump dependencies New sendfile gem will give us IO#trysendfile. We might as well use and test the latest and greatest versions of everything else since thats what users pull in by default. commit 85784e1b5fca7bbadc7fb5dba1f100785188954f Author: Eric Wong Date: Mon Feb 28 03:10:55 2011 +0000 use IO#wait instead of IO.select for single readers It's a simpler interface and avoids allocating an array which is nice. commit 829d58c261ba64bb4f512c6591eba2f468df15a6 Author: Eric Wong Date: Wed Feb 16 10:47:27 2011 -0800 README: clarify license terms and versions Ruby 1.9.3dev switched to BSD but we remain under the same terms as the old Ruby 1.8 license. Mongrel2 exists now and also uses the BSD, so don't confuse people with that, either. commit 23be173e2506f8a39d3e7b3097cef4e3b8a31ccc Author: Eric Wong Date: Tue Feb 15 09:44:23 2011 -0800 tests: updates for cramp 0.12 The Cramp::Controller namespace is gone.