Navigation Menu

Skip to content

Commit

Permalink
Don't set serf tags multiple times
Browse files Browse the repository at this point in the history
  • Loading branch information
piroor committed Apr 1, 2015
1 parent 1294792 commit 9612716
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions lib/droonga/serf.rb
Expand Up @@ -43,6 +43,7 @@ def initialize(name, options={})
@verbose = options[:verbose] || false
@service_installation = ServiceInstallation.new
@node_metadata = NodeMetadata.new
@tags_cache = {}
end

def run_agent(loop)
Expand Down Expand Up @@ -131,22 +132,25 @@ def current_cluster_state

def set_tag(name, value)
run_command("tags", "-set", "#{name}=#{value}")
@tags_cache[name] = value
end

def delete_tag(name)
run_command("tags", "-delete", name)
@tags_cache.delete(name)
end

def update_cluster_id
set_tag("cluster_id", cluster_id)
end

def set_have_unprocessed_messages_for(node_name)
set_tag("have-unprocessed-messages-for-#{node_name}", true)
tag = have_unprocessed_messages_tag_for(node_name)
set_tag(tag, true) unless @tags_cache.key?(tag)
end

def reset_have_unprocessed_messages_for(node_name)
delete_tag("have-unprocessed-messages-for-#{node_name}")
delete_tag(have_unprocessed_messages_tag_for(node_name))
end

def role
Expand Down Expand Up @@ -233,6 +237,10 @@ def detect_other_hosts
end
end

def have_unprocessed_messages_tag_for(node_name)
"have-unprocessed-messages-for-#{node_name}"
end

def log_tag
"serf"
end
Expand Down

0 comments on commit 9612716

Please sign in to comment.