properly throw lock LockClientError

This commit is contained in:
Nick Elser
2015-04-12 20:47:35 -07:00
parent 8166c6b51d
commit 1aacc0c1a1
5 changed files with 13 additions and 10 deletions

View File

@@ -1,6 +1,7 @@
module Suo
module Client
class Base
DEFAULT_OPTIONS = {
retry_timeout: 0.1,
retry_delay: 0.01,
@@ -111,7 +112,7 @@ module Suo
break unless acquisition_lock
break if set(key, serialize_locks(locks), cas, options)
end
rescue FailedToAcquireLock => _ # rubocop:disable Lint/HandleExceptions
rescue LockClientError => _ # rubocop:disable Lint/HandleExceptions
# ignore - assume success due to optimistic locking
end
@@ -163,7 +164,7 @@ module Suo
sleep(rand(options[:retry_delay] * 1000).to_f / 1000)
end
rescue => _
raise FailedToAcquireLock
raise LockClientError
end
def serialize_locks(locks)

View File

@@ -1,7 +0,0 @@
module Suo
module Client
module Errors
class FailedToAcquireLock < StandardError; end
end
end
end

View File

@@ -8,7 +8,7 @@ require "redis"
require "msgpack"
require "suo/client/errors"
require "suo/errors"
require "suo/client/base"
require "suo/client/memcached"
require "suo/client/redis"

3
lib/suo/errors.rb Normal file
View File

@@ -0,0 +1,3 @@
module Suo
class LockClientError < StandardError; end
end