diff options
Diffstat (limited to 'lib/mogilefs')
-rw-r--r-- | lib/mogilefs/backend.rb | 6 | ||||
-rw-r--r-- | lib/mogilefs/mogilefs.rb | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/lib/mogilefs/backend.rb b/lib/mogilefs/backend.rb index d04247b..f33c42d 100644 --- a/lib/mogilefs/backend.rb +++ b/lib/mogilefs/backend.rb @@ -264,11 +264,13 @@ class MogileFS::Backend # Performs the +cmd+ request with +args+. def do_request(cmd, args, idempotent = false) - request = make_request cmd, args + no_raise = args.delete(:ruby_no_raise) + request = make_request(cmd, args) @mutex.synchronize do begin io = dispatch_unlocked(request) - line = io.timed_gets(@timeout) and return parse_response(line) + line = io.timed_gets(@timeout) and + return parse_response(line, no_raise ? request : nil) idempotent or raise EOFError, "end of file reached after: #{request.inspect}" diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb index 005bb19..1ec357d 100644 --- a/lib/mogilefs/mogilefs.rb +++ b/lib/mogilefs/mogilefs.rb @@ -117,11 +117,8 @@ class MogileFS::MogileFS < MogileFS::Client # Returns +true+ if +key+ exists, +false+ if not def exist?(key) - rv = nil - args = { :key => key, :domain => @domain } - @backend.pipeline_dispatch(:get_paths, args) { |x| rv = (Hash === x) } - @backend.pipeline_wait(1) - rv + args = { :key => key, :domain => @domain , :ruby_no_raise => true} + Hash === @backend.get_paths(args) end # Get the URIs for +key+ (paths) as URI::HTTP objects |