[Revactor-talk] TIA: Rainbows! code review please

Tony Arcieri tony at medioh.com
Fri Nov 13 23:43:21 EST 2009


Hi Eric,

I haven't tried Revactor on FreeBSD.  The only platforms I've tried it on
are Linux and OS X.  However, Rev (Revactor's I/O layer) is based on libev,
and libev's author is a stickler for providing identical semantics across
multiple operating systems, to the point of ignoring features which would
provide better performance if they can't provide identical semantics.

I'll say that Revactor was the basis of some rock-solid web-spidering code
we had deployed at my employer.  This spider was running 24/7 (albeit
periodically restarted after retrieving N URLs due to heap growth from
Ruby's GC) for many months without any observed bugs in its behaviour.

Can you reproduce this problem on Linux?  I see nothing obviously wrong in
your code.

Are you going to be at RubyConf?  If so I'd like to say hi.

On Thu, Nov 12, 2009 at 12:53 AM, Eric Wong <normalperson at yhbt.net> wrote:

> I've been having some issues with the http://upr-demo.bogomips.org/
> site running Rainbows! 0.5.0 + Revactor 0.1.5 + Ruby 1.9.1 p243 +
> Rails 2.3.4 (no sessions or backend connections).
>
> You can check out git://git.bogomips.org/rainbows.git and look in
> lib/rainbows/revactor.rb and lib/rainbows/revactor/tee_input.rb
>
> There were a couple of minor fixes to the Revactor-using code since the
> 0.5.0 release but I don't think they significantly affect what I'm
> seeing here.  "git log -p v0.5.0.. lib/rainbows/revactor*" just to
> be sure :>
>
> It may be related to Actor scheduling during large uploads, but I'm not
> sure.  It could also be something odd that libev is doing, too.  It
> seems to stop accepting connections entirely but I also don't get any
> "busy: " messages in the logs, either...  When I truss the process, it
> still seems to be correctly calling the fchmod heartbeat every second,
> which runs inside a "filter.after(1)" block, so I know the worker
> process isn't blocked/dead.
>
> It also doesn't help that I'm running this on an OS I'm unfamiliar with
> for debugging (FreeBSD 7.2) and also with high network latency.  I'll
> setup another demo running on a closer box running GNU/Linux, soon, too,
> since I'm much more comfortable with GNU/Linux.
>
> Any comments would be much appreciated, thanks again!  I'll also post my
> findings if I find anything.
>
> --
> Eric Wong
> _______________________________________________
> Revactor-talk mailing list
> Revactor-talk at rubyforge.org
> http://rubyforge.org/mailman/listinfo/revactor-talk
>



-- 
Tony Arcieri
Medioh/Nagravision
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/revactor-talk/attachments/20091113/b9515cb2/attachment.html>


More information about the Revactor-talk mailing list