From 27092c172aaf828740f85d45a410a18c346db8f8 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 5 Jan 2009 19:05:38 -0800 Subject: [PATCH] Mysql: fix get_paths Oops, this method needs to bypass transformations we in the normal MogileFS::MogileFS code path. --- lib/mogilefs/mogilefs.rb | 7 ++++--- lib/mogilefs/mysql.rb | 2 +- test/test_mysql.rb | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb index 5c76bfa..ee5cc37 100644 --- a/lib/mogilefs/mogilefs.rb +++ b/lib/mogilefs/mogilefs.rb @@ -89,9 +89,10 @@ class MogileFS::MogileFS < MogileFS::Client # Get the paths for +key+. def get_paths(key, noverify = true, zone = nil) - noverify = noverify ? 1 : 0 - res = @backend.get_paths(:domain => @domain, :key => key, - :noverify => noverify, :zone => zone) + opts = { :domain => @domain, :key => key, + :noverify => noverify ? 1 : 0, :zone => zone } + @backend.respond_to?(:_get_paths) and return @backend._get_paths(opts) + res = @backend.get_paths(opts) (1..res['paths'].to_i).map { |i| res["path#{i}"] } end diff --git a/lib/mogilefs/mysql.rb b/lib/mogilefs/mysql.rb index f2e1bc2..b6760a4 100644 --- a/lib/mogilefs/mysql.rb +++ b/lib/mogilefs/mysql.rb @@ -82,7 +82,7 @@ class MogileFS::Mysql ## # Get the paths for +key+. - def get_paths(params = {}) + def _get_paths(params = {}) zone = params[:zone] noverify = (params[:noverify] == 1) # TODO this is unused atm dmid = refresh_domain[params[:domain]] or \ diff --git a/test/test_mysql.rb b/test/test_mysql.rb index 26e71b1..9295f38 100644 --- a/test/test_mysql.rb +++ b/test/test_mysql.rb @@ -50,7 +50,7 @@ class TestMogileFS__Mysql < Test::Unit::TestCase @my.expect << [ [ 1 ], [ 3 ] ] # devids expect = [ "http://10.0.0.1:7600/dev1/0/000/000/0000000012.fid", "http://10.0.0.3:7500/dev3/0/000/000/0000000012.fid" ] - assert_equal expect, @mg.get_paths(:domain => 'test', :key => 'fookey') + assert_equal expect, @mg._get_paths(:domain => 'test', :key => 'fookey') end def test_get_paths_alt @@ -59,7 +59,7 @@ class TestMogileFS__Mysql < Test::Unit::TestCase expect = [ "http://192.168.0.1:7600/dev1/0/000/000/0000000012.fid", "http://10.0.0.3:7500/dev3/0/000/000/0000000012.fid"] params = { :domain => 'test', :key => 'fookey', :zone => 'alt' } - assert_equal expect, @mg.get_paths(params) + assert_equal expect, @mg._get_paths(params) end def test_list_keys -- 2.11.4.GIT