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����������������������������... 下载