about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-01-05 19:05:38 -0800
committerEric Wong <normalperson@yhbt.net>2009-01-05 19:05:38 -0800
commit27092c172aaf828740f85d45a410a18c346db8f8 (patch)
treeb0e93437b9226626f7d99b37985458cbd4cc7c7b
parent14da9651b3227bea0dcc01eaf09364d8d1ebc274 (diff)
downloadmogilefs-client-27092c172aaf828740f85d45a410a18c346db8f8.tar.gz
Oops, this method needs to bypass transformations we
in the normal MogileFS::MogileFS code path.
-rw-r--r--lib/mogilefs/mogilefs.rb7
-rw-r--r--lib/mogilefs/mysql.rb2
-rw-r--r--test/test_mysql.rb4
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