-
Notifications
You must be signed in to change notification settings - Fork 9
Detected race condition. #19
base: master
Are you sure you want to change the base?
Conversation
f2e7cd0
to
1e2d542
Compare
63ecb98
to
0320953
Compare
fe54f45
to
bd7451d
Compare
This one also forced me to fix #17 because solution to this issue is to 'duck-type' |
2b0508e
to
c45f02a
Compare
And as a new class |
But don't merge for the time being! |
@marshall-lee I think having both |
@tarcieri what'd you suggest? delegation? |
I would suggest renaming the gem and changing the API so there aren't any conflicting names |
Inclusion of |
Why here this approach is bad? |
I know you want this gem to be just a driver. But I don't know how to fix a synchronization issue without intercepting something in |
No. Keeping If the class were called |
This is not true. Look at the implementation — it doesn't touch But I can improve it by moving into What do you think? |
Moving it into the |
BTW I realized what this race condition exactly is. Running new spec without
For every command |
This one demonstrates that
celluloid-redis
is unsafe under a heavy concurrent usage.There is also related issue: celluloid/celluloid-io#151 - besides this race condition it also introduces some strange behavior of
Celluloid::Mailbox::Evented
that I tried to fix in celluloid/celluloid#666