We noticed some odd behavior when trying to start more than one engine
at once. I posted an issue about it to the github issue tracker, but
John suggested it would be better discussed here. I'm going to copy in
the start of our discussion:

Starting multiple engines at once can cause corruption of
"configurations/participant_list". You can cause this to happen on one
machine by putting a 'sleep (rand 1000)/1000.0' at line 140 of
storage.rb.

We first noticed this when trying to run several engines on separate
machines talking to the same redis db. After tracing it down to the
setup of the participants I noticed that storage.rb tries to set the
index directly instead of using redis's build-in incr method. Using
this method should prevent engines from grabbing the same id and
corrupting each other's data. I posted a possible fix here
http://github.com/wwkeyboard/ruote-redis/commit/d838ac61d1564172464374e8b2551741b806f8f2

John replied with:

Nice, I will test this ASAP.

should we remove the following @redis.set(key, nrev) as well ?

Hello,

unfortunately your patch is [intermittently] breaking my concurrence
tests (test/functional/ct_0_concurrence.rb and test/functional/
ct_2_cancel.rb)

I run these tests like this :

. test/functional/crunner.sh X -- --redis

where X is 0, 1 or 2 (ct_0, ct_1 or ct_2). I let each tests run at
least 100 times.

Could you please tell how exactly "configurations/participant_list"
gets corrupted ? Error messages, symptoms, ... Does it only ever
happen to the participant list, no "corruption" for other types ?

I have tried with "sleep (rand 1000)/10000.0" (10k) but it only breaks
ct_2. I will continue investigating, I thought my setnx technique was
OK, but it seems not.

I suggest continuing the exchange on 
http://groups.google.com/group/openwferu-users
those issue trackers textboxes are too constraining...

Many thanks for your feedback so far.

-- 
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