-
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-redisis 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::Eventedthat I tried to fix in celluloid/celluloid#666