Trying to run starfish results in an exception in Rinda:
$ starfish foo.rb
server started for #<Foo:0x1499cb4 @i=0>
/opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/starfish.rb:202:in `negotiate': RingNotFound (RuntimeError)
from /opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/starfish.rb:85:in `client'
from /opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/bin/starfish:26
from /opt/local/bin/starfish:16
This happened initially with an AR map_reduce type script, but happens also with the foo.rb example in starfish docs.
Googling for the error message, I found at least one other who's had the same problem (but no solution):
http://groups.google.com/group/midwestrb/browse_thread/thread/d02425490f08b927
I also found this: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/205107
However, monkey patching rinda didn't help, I still get the same error.
This happens both in Ruby 1.8.4 and 1.8.6.
Starfish is still running after the exception:
$ ps auxww|grep starfish
jarkko 20135 0.1 -0.6 44456 13480 p4 S 1:00PM 0:01.22 ruby
/opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/../bin/starfish foo.rb server
jarkko 20133 0.0 -0.0 40848 328 p4 S 1:00PM 0:00.00 ruby /opt/local/bin/starfish foo.rb
jarkko 20134 0.0 -0.0 27808 684 p4 S 1:00PM 0:00.01 sh -c ruby
/opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/../bin/starfish foo.rb server > /dev/null
However, any additional calls to starfish die with a similar error:
$ starfish foo.rb
/opt/local/lib/ruby/1.8/rinda/ring.rb:212:in `lookup_ring_any': RingNotFound (RuntimeError)
from /opt/local/lib/ruby/1.8/rinda/ring.rb:109:in `finger'
from /opt/local/lib/ruby/1.8/rinda/ring.rb:118:in `primary'
from /opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/../bin/../lib/starfish.rb:68:in `server'
from /opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/../bin/starfish:22
/opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/starfish.rb:202:in `negotiate': RingNotFound (RuntimeError)
from /opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/lib/starfish.rb:85:in `client'
from /opt/local/lib/ruby/gems/1.8/gems/starfish-1.2.1/bin/starfish:26
from /opt/local/bin/starfish:16
Any ideas where this could come from and how it could be fixed? |