[Groonga-commit] droonga/droonga-engine at b205443 [master] catalog-generator: use common code

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Jul 17 20:26:27 JST 2014


Kouhei Sutou	2014-07-17 20:26:27 +0900 (Thu, 17 Jul 2014)

  New Revision: b205443d09241bd46da083fba191b140f259e5c6
  https://github.com/droonga/droonga-engine/commit/b205443d09241bd46da083fba191b140f259e5c6

  Message:
    catalog-generator: use common code

  Modified files:
    lib/droonga/catalog_generator.rb
    test/unit/test_catalog_generator.rb

  Modified: lib/droonga/catalog_generator.rb (+1 -17)
===================================================================
--- lib/droonga/catalog_generator.rb    2014-07-17 20:21:23 +0900 (b469e0c)
+++ lib/droonga/catalog_generator.rb    2014-07-17 20:26:27 +0900 (da3918a)
@@ -230,8 +230,6 @@ module Droonga
       end
     end
 
-    ADDRESS_MATCHER = /\A(.*):(\d+)\/([^\.]+)\.(.+)\z/
-
     def dataset_to_params(dataset)
       params = {}
       params[:n_workers] = dataset["nWorkers"]
@@ -239,21 +237,7 @@ module Droonga
       params[:plugins]   = dataset["plugins"]
       params[:schema]    = dataset["schema"] if dataset["schema"]
       params[:fact]      = dataset["fact"] if dataset["fact"]
-
-      nodes = dataset["replicas"].collect do |replica|
-        ADDRESS_MATCHER =~ replica["slices"].first["volume"]["address"]
-        {
-          :host => $1,
-          :port => $2.to_i,
-          :tag  => $3,
-          :path => $4,
-        }
-      end
-      params[:tag]   = nodes.first[:tag]
-      params[:port]  = nodes.first[:port].to_i
-      params[:hosts] = nodes.collect do |node|
-        node[:host]
-      end
+      params[:replicas]  = dataset["replicas"]
       params
     end
   end

  Modified: test/unit/test_catalog_generator.rb (+32 -1)
===================================================================
--- test/unit/test_catalog_generator.rb    2014-07-17 20:21:23 +0900 (efde063)
+++ test/unit/test_catalog_generator.rb    2014-07-17 20:26:27 +0900 (ba98320)
@@ -89,10 +89,41 @@ class CatalogGeneratorTest < Test::Unit::TestCase
       @generator.add_dataset("Droonga", :fact => "Entries")
       assert_equal("Entries", generate["datasets"]["Droonga"]["fact"])
     end
+
+    class LoadTest < self
+      def test_replicas
+        dataset = {
+          "nWorkers" => 4,
+          "plugins" => ["groonga", "search", "crud", "dump", "system"],
+          "schema" => [],
+          "replicas" => [
+            {
+              "dimension" => "_key",
+              "slicer" => "hash",
+              "slices" => [
+                {
+                  "volume" => {
+                    "address" => "127.0.0.1:10031/droonga.000",
+                  },
+                  "weight" => 100,
+                },
+              ],
+            },
+          ],
+        }
+        catalog = {
+          "datasets" => {
+            "Default" => dataset,
+          }
+        }
+        @generator.load(catalog)
+        assert_equal(dataset, generate["datasets"]["Default"])
+      end
+    end
   end
 
   class ReplicasTest < self
-    def test_raw
+    def test_catalog
       replicas = [
         {
           "dimension" => "_key",
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index