YUKI Hiroshi
null+****@clear*****
Wed Apr 29 12:31:20 JST 2015
YUKI Hiroshi 2015-04-29 12:31:20 +0900 (Wed, 29 Apr 2015) New Revision: 5a3fc19fc363856e94f9fe92073dfa3a97b2b45e https://github.com/droonga/droonga-engine/commit/5a3fc19fc363856e94f9fe92073dfa3a97b2b45e Message: Normalize roles to downcase Modified files: lib/droonga/cluster.rb lib/droonga/dispatcher.rb lib/droonga/node_role.rb Modified: lib/droonga/cluster.rb (+1 -1) =================================================================== --- lib/droonga/cluster.rb 2015-04-29 12:20:50 +0900 (5ca6505) +++ lib/droonga/cluster.rb 2015-04-29 12:31:20 +0900 (e81f8da) @@ -170,7 +170,7 @@ module Droonga end def bounce(message) - role = message["targetRole"] + role = message["targetRole"].downcase logger.info("bounce: trying to bounce message to another " + "node with the role: #{role}") raise NotStartedYet.new unless @engine_nodes Modified: lib/droonga/dispatcher.rb (+3 -3) =================================================================== --- lib/droonga/dispatcher.rb 2015-04-29 12:20:50 +0900 (f7f9b64) +++ lib/droonga/dispatcher.rb 2015-04-29 12:31:20 +0900 (92f3109) @@ -351,9 +351,9 @@ module Droonga end def acceptable_role?(message) - message["targetRole"].nil? or - message["targetRole"] == NodeRole::ANY or - message["targetRole"] == NodeRole.mine + return true unless message["targetRole"] + role = message["targetRole"].downcase + role == NodeRole::ANY or role == NodeRole.mine end def process_input_message(message) Modified: lib/droonga/node_role.rb (+7 -5) =================================================================== --- lib/droonga/node_role.rb 2015-04-29 12:20:50 +0900 (6eecb43) +++ lib/droonga/node_role.rb 2015-04-29 12:31:20 +0900 (8995844) @@ -20,11 +20,11 @@ require "droonga/serf/tag" module Droonga class NodeRole - SERVICE_PROVIDER = "service-provider" - ABSORB_SOURCE = "absorb-source" - ABSORB_DESTINATION = "absorb-destination" + SERVICE_PROVIDER = "service-provider".downcase + ABSORB_SOURCE = "absorb-source".downcase + ABSORB_DESTINATION = "absorb-destination".downcase - ANY = "any" + ANY = "any".downcase ROLES = [ SERVICE_PROVIDER, @@ -41,7 +41,8 @@ module Droonga if Path.serf_tags_file.exist? tags = Path.serf_tags_file.read tags = JSON.parse(tags) - return tags[Serf::Tag.node_role] if tags[Serf::Tag.node_role] + role_from_tag = tags[Serf::Tag.node_role] + return role_from_tag.downcase if role_from_tag end SERVICE_PROVIDER rescue Errno::ENOENT, JSON::ParserError @@ -63,6 +64,7 @@ module Droonga end def normalize(role) + role = role.downcase role = SERVICE_PROVIDER unless valid?(role) role end -------------- next part -------------- HTML����������������������������...Download