1.8.4 broke my Rinda app

At the bottom of this email is a contrived example of something I was
able to do in 1.8.2, but results in a RuntimeError with either 1.8.3
or 1.8.4.

Essentially, I'm registering a service with a ring "in-process". Can
someone please tell me whether this should work in 1.8.4 (i.e. a bug),
or how I must restructure it in order to upgrade?

When run with 1.8.4, I get the following trace after a 5s timeout:

/usr/local/lib/ruby/1.8/rinda/ring.rb:212:in `lookup_ring_any': RingNotFound (RuntimeError)
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:109:in `finger'
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:118:in `primary'
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:241:in `provide'
        from ./ringserver.rb:14

But 1.8.2 has no issues whatsoever.

Thanks for your help,
Jim

========= BEGIN SAMPLE CODE =========
require 'rinda/ring'
require 'rinda/tuplespace'

DRb.start_service

ts = Rinda::TupleSpace.new
server = Rinda::RingServer.new(ts)

provider = Rinda::RingProvider.new :Whatever, Object.new, 'Whatever'
provider.provide

DRb.thread.join
========== END SAMPLE CODE ==========

Jim -

I too am experiencing this symptom.

Have you resolve this?

Thanx for your thoughts.

Jodi

Jim Crossley wrote:

···

At the bottom of this email is a contrived example of something I was
able to do in 1.8.2, but results in a RuntimeError with either 1.8.3
or 1.8.4.

Essentially, I'm registering a service with a ring "in-process". Can
someone please tell me whether this should work in 1.8.4 (i.e. a bug),
or how I must restructure it in order to upgrade?

When run with 1.8.4, I get the following trace after a 5s timeout:

/usr/local/lib/ruby/1.8/rinda/ring.rb:212:in `lookup_ring_any':
RingNotFound (RuntimeError)
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:109:in `finger'
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:118:in `primary'
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:241:in `provide'
        from ./ringserver.rb:14

But 1.8.2 has no issues whatsoever.

Thanks for your help,
Jim

========= BEGIN SAMPLE CODE =========
require 'rinda/ring'
require 'rinda/tuplespace'

DRb.start_service

ts = Rinda::TupleSpace.new
server = Rinda::RingServer.new(ts)

provider = Rinda::RingProvider.new :Whatever, Object.new, 'Whatever'
provider.provide

DRb.thread.join
========== END SAMPLE CODE ==========

--
View this message in context: http://www.nabble.com/1.8.4-broke-my-Rinda-app-tf1134468.html#a5560190
Sent from the ruby-talk forum at Nabble.com.

I've just submitted the patch:

http://rubyforge.org/tracker/index.php?func=detail&aid=5244&group_id=426&atid=1700

···

On 2/16/06, Jim Crossley <jim@crossleys.org> wrote:

At the bottom of this email is a contrived example of something I was
able to do in 1.8.2, but results in a RuntimeError with either 1.8.3
or 1.8.4.

Essentially, I'm registering a service with a ring "in-process". Can
someone please tell me whether this should work in 1.8.4 (i.e. a bug),
or how I must restructure it in order to upgrade?

When run with 1.8.4, I get the following trace after a 5s timeout:

/usr/local/lib/ruby/1.8/rinda/ring.rb:212:in `lookup_ring_any': RingNotFound (RuntimeError)
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:109:in `finger'
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:118:in `primary'
        from /usr/local/lib/ruby/1.8/rinda/ring.rb:241:in `provide'
        from ./ringserver.rb:14

But 1.8.2 has no issues whatsoever.

Thanks for your help,
Jim

========= BEGIN SAMPLE CODE =========
require 'rinda/ring'
require 'rinda/tuplespace'

DRb.start_service

ts = Rinda::TupleSpace.new
server = Rinda::RingServer.new(ts)

provider = Rinda::RingProvider.new :Whatever, Object.new, 'Whatever'
provider.provide

DRb.thread.join
========== END SAMPLE CODE ==========

--
Kent
---