YUKI Hiroshi
null+****@clear*****
Fri May 9 14:01:18 JST 2014
YUKI Hiroshi 2014-05-09 14:01:18 +0900 (Fri, 09 May 2014) New Revision: 9b0c9a5e76641bff92d5facc39709365e1556c88 https://github.com/droonga/droonga-engine/commit/9b0c9a5e76641bff92d5facc39709365e1556c88 Message: Add codes to use live nodes list for dispatching Modified files: lib/droonga/catalog/dataset.rb lib/droonga/catalog/version1.rb lib/droonga/dispatcher.rb lib/droonga/live_nodes_list_loader.rb Modified: lib/droonga/catalog/dataset.rb (+3 -3) =================================================================== --- lib/droonga/catalog/dataset.rb 2014-05-09 13:47:41 +0900 (9d2bbb3) +++ lib/droonga/catalog/dataset.rb 2014-05-09 14:01:18 +0900 (36a6def) @@ -62,11 +62,11 @@ module Droonga @all_nodes ||= replicas.all_nodes end - def get_routes(args) + def get_routes(args, live_nodes=nil) routes = [] case args["type"] when "broadcast" - volumes = replicas.select(args["replica"].to_sym, args["live_nodes"]) + volumes = replicas.select(args["replica"].to_sym, live_nodes) volumes.each do |volume| slices = volume.select_slices slices.each do |slice| @@ -74,7 +74,7 @@ module Droonga end end when "scatter" - volumes = replicas.select(args["replica"].to_sym, args["live_nodes"]) + volumes = replicas.select(args["replica"].to_sym, live_nodes) volumes.each do |volume| slice = volume.choose_slice(args["record"]) routes << slice.volume.address Modified: lib/droonga/catalog/version1.rb (+1 -1) =================================================================== --- lib/droonga/catalog/version1.rb 2014-05-09 13:47:41 +0900 (390e93e) +++ lib/droonga/catalog/version1.rb 2014-05-09 14:01:18 +0900 (a0a3168) @@ -386,7 +386,7 @@ module Droonga end class Dataset < Catalog::Dataset - def get_routes(args) + def get_routes(args, live_nodes=nil) routes = [] case args["type"] when "broadcast" Modified: lib/droonga/dispatcher.rb (+3 -1) =================================================================== --- lib/droonga/dispatcher.rb 2014-05-09 13:47:41 +0900 (3b52117) +++ lib/droonga/dispatcher.rb 2014-05-09 14:01:18 +0900 (309fc97) @@ -24,6 +24,7 @@ require "droonga/farm" require "droonga/session" require "droonga/error_messages" require "droonga/distributor" +require "droonga/live_nodes_list_loader" module Droonga class Dispatcher @@ -57,6 +58,7 @@ module Droonga @step_runners = create_step_runners @forwarder = @engine_state.forwarder @replier = @engine_state.replier + # @live_nodes = LiveNodesListLoader.load end def start @@ -169,7 +171,7 @@ module Droonga steps.each do |step| dataset =****@catal*****(step["dataset"]) if dataset - routes = dataset.get_routes(step) + routes = dataset.get_routes(step, @live_nodes) step["routes"] = routes else step["routes"] ||= [id] Modified: lib/droonga/live_nodes_list_loader.rb (+6 -0) =================================================================== --- lib/droonga/live_nodes_list_loader.rb 2014-05-09 13:47:41 +0900 (1656f7d) +++ lib/droonga/live_nodes_list_loader.rb 2014-05-09 14:01:18 +0900 (467b416) @@ -18,6 +18,12 @@ require "json" module Droonga class LiveNodesListLoader + class << self + def load + new.load + end + end + DEFAULT_LIST_PATH = "live-nodes.json" def base_path -------------- next part -------------- HTML����������������������������...下載