On Thu, Nov 24, 2011 at 09:52:36PM -0800, Tom wrote:
>
> About the rate... this is kinda outdated now - we updated ruote with
> the fix you did to the participant list and the rate seemed to have
> dropped significantly... it might now be 1 out of 200 or so... just
> FYI, we got a really simple workitem in that gets rewinded every 20
> seconds and touches a file (which works as a performance check for
> ruote for us), and it seems to get 'stuck' every 3-4 hours or so (with
> the error mentioned above).
> I'm not sure if I can answer your second question, but given that we
> restart the workers on every deploy, I assume the # of workers (and
> the order they're started in) doesn't really matter...
> And no, all participants are registered before we start the workers...

OK,

I ran this small script on my Mac (snoleo) with redis-2.2.2 (compiled manually) 
and couldn't get it to score nils (redis and client on the same host). How does 
it score in your environment ?

(https://gist.github.com/1392979)

---8<---
$:.unshift('../ruote/lib')
$:.unshift('../ruote-redis/lib')

require 'rufus-json/automatic'
require 'redis'
require 'ruote'
require 'ruote-redis'

storage = Ruote::Redis::Storage.new('db' => 15, 'thread_safe' => true)

storage.put( # pp output
  {"type"=>"configurations",
   "_id"=>"participant_list",
   "list"=>
    [["^.+$",
      ["Ruote::BlockParticipant",
       {"on_workitem"=>
         "proc do |workitem|\n      context.tracer << workitem.participant_name 
+ \"\\n\"\n    end"}]]]})

count = 0
n = 100_000
t = Time.now

n.times do |i|
  list = storage.get_configuration('participant_list')
  count = count + 1 if list == nil
end

puts "#{count} in #{n} is nil"
puts "took #{Time.now - t} seconds"
--->8---

It seems your deployment has nil coming instead of the participant list from 
time to time (around here 
https://github.com/jmettraux/ruote/blob/master/lib/ruote/svc/participant_list.rb#L316-324).

We could harden that (or ruote-redis), but I find it puzzling the issue doesn't 
manifest itself when getting expressions (it would lead to all sorts of quirks).

I wonder what the script will say in your environment.


Cheers,

--
John Mettraux - http://lambda.io/processi

-- 
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

Reply via email to