[Groonga-commit] long-long-float/droonga-engine at b7f5d4c [master] fix bug

Back to archive index

long-long-float null+****@clear*****
Mon Aug 25 19:20:34 JST 2014


long-long-float	2014-08-25 19:20:34 +0900 (Mon, 25 Aug 2014)

  New Revision: b7f5d4cf6a6b5dc84f3763baa556f76ec5f8f434
  https://github.com/long-long-float/droonga-engine/commit/b7f5d4cf6a6b5dc84f3763baa556f76ec5f8f434

  Merged 7fb2af2: Merge pull request #12 from long-long-float/share-catalog-automatically

  Message:
    fix bug

  Modified files:
    lib/droonga/command/serf_event_handler.rb

  Modified: lib/droonga/command/serf_event_handler.rb (+14 -11)
===================================================================
--- lib/droonga/command/serf_event_handler.rb    2014-08-23 22:10:24 +0900 (f1a4bc0)
+++ lib/droonga/command/serf_event_handler.rb    2014-08-25 19:20:34 +0900 (46b8ed8)
@@ -131,21 +131,24 @@ module Droonga
       end
 
       def join_as_replica
-        source_node, source_node_port, source_node_dataset = @payload["source"], @payload["port"], @payload["dataset"]
-        return unless [source_node, source_node_port, source_node_dataset].all?
+        source_node = @payload["source"]
+        source_node_port = @payload["port"]
+        source_node_dataset =  @payload["dataset"]
+        joining_node = @payload["node"]
+        dataset = @payload["dataset"]
+        return unless [source_node, source_node_port, source_node_dataset, joining_node, dataset].all?
         
         log("source_node  = #{source_node}")
         source_host = source_node.split(":").first
-       
+        
+        joining_host = joining_node.split(":").first
         catalog = nil
-        Droonga::Client.open(:host => source_host, :port => source_node_port, :tag => "droonga", :protocol => :droonga, :timeout => 1, :receiver_host => "localhost", :receiver_port => 0) do |client|
-          STDERR.puts "start request"
-          client.request({"dataset" => source_node_dataset , :type => "catalog.fetch"}) do |responce|
-            STDERR.puts "write catalog to #{Path.catalog}"
-            File.write(Path.catalog, responce)
-            catalog = JSON.parse(responce)
-          end.wait
-          STDERR.puts "finish request"
+        Droonga::Client.open(:host => source_host, :port => source_node_port, :tag => "droonga", :protocol => :droonga, :timeout => 1, :receiver_host => joining_host, :receiver_port => 0) do |client|
+          request = client.request(:dataset => source_node_dataset , :type => "catalog.fetch") do |responce|
+            File.write(Path.catalog, JSON.generate(responce["body"]))
+            catalog = responce["body"]
+          end
+          request.wait
         end
 
         generator = create_current_catalog_generator(catalog)
-------------- next part --------------
HTML����������������������������...
下载 



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