diff --git a/lib/suo/client/base.rb b/lib/suo/client/base.rb index c439575..a886159 100644 --- a/lib/suo/client/base.rb +++ b/lib/suo/client/base.rb @@ -56,10 +56,7 @@ module Suo retry_with_timeout do val, cas = get - if val.nil? - initial_set - next - end + cas = initial_set if val.nil? cleared_locks = deserialize_and_clear_locks(val) @@ -102,10 +99,7 @@ module Suo retry_with_timeout do val, cas = get - if val.nil? - initial_set - next - end + cas = initial_set if val.nil? cleared_locks = deserialize_and_clear_locks(val) diff --git a/lib/suo/client/memcached.rb b/lib/suo/client/memcached.rb index 09f5aa7..b827074 100644 --- a/lib/suo/client/memcached.rb +++ b/lib/suo/client/memcached.rb @@ -26,6 +26,8 @@ module Suo def initial_set(val = BLANK_STR) @client.set(@key, val) + _val, cas = @client.get_cas(@key) + cas end end end diff --git a/lib/suo/client/redis.rb b/lib/suo/client/redis.rb index 7bd740a..ee62e76 100644 --- a/lib/suo/client/redis.rb +++ b/lib/suo/client/redis.rb @@ -39,7 +39,8 @@ module Suo end def initial_set(val = BLANK_STR) - @client.set(@key, val) + set(val, nil) + nil end end end