mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
redis-trib.rb: --timeout XXXXX option added to fix and reshard commands. Defaults to 15000 milliseconds
This commit is contained in:
parent
adc2fe6993
commit
3d254e05f4
@ -288,6 +288,7 @@ class RedisTrib
|
||||
@nodes = []
|
||||
@fix = false
|
||||
@errors = []
|
||||
@timeout = 15000
|
||||
end
|
||||
|
||||
def check_arity(req_args, num_args)
|
||||
@ -819,11 +820,11 @@ class RedisTrib
|
||||
break if keys.length == 0
|
||||
keys.each{|key|
|
||||
begin
|
||||
source.r.client.call(["migrate",target.info[:host],target.info[:port],key,0,15000])
|
||||
source.r.client.call(["migrate",target.info[:host],target.info[:port],key,0,@timeout])
|
||||
rescue => e
|
||||
if o[:fix] && e.to_s =~ /BUSYKEY/
|
||||
xputs "*** Target key #{key} exists. Replacing it for FIX."
|
||||
source.r.client.call(["migrate",target.info[:host],target.info[:port],key,0,15000,:replace])
|
||||
source.r.client.call(["migrate",target.info[:host],target.info[:port],key,0,@timeout,:replace])
|
||||
else
|
||||
puts ""
|
||||
xputs "[ERR] #{e}"
|
||||
@ -853,6 +854,8 @@ class RedisTrib
|
||||
|
||||
def fix_cluster_cmd(argv,opt)
|
||||
@fix = true
|
||||
@timeout = opt['timeout'].to_i if opt['timeout']
|
||||
|
||||
load_cluster_info_from_node(argv[0])
|
||||
check_cluster
|
||||
end
|
||||
@ -865,6 +868,8 @@ class RedisTrib
|
||||
exit 1
|
||||
end
|
||||
|
||||
@timeout = opt['timeout'].to_i if opt['timeout'].to_i
|
||||
|
||||
# Get number of slots
|
||||
if opt['slots']
|
||||
numslots = opt['slots'].to_i
|
||||
@ -1186,7 +1191,7 @@ class RedisTrib
|
||||
print "Migrating #{k} to #{target}: "
|
||||
STDOUT.flush
|
||||
begin
|
||||
cmd = ["migrate",target.info[:host],target.info[:port],k,0,15000]
|
||||
cmd = ["migrate",target.info[:host],target.info[:port],k,0,@timeout]
|
||||
cmd << :copy if use_copy
|
||||
cmd << :replace if use_replace
|
||||
source.client.call(cmd)
|
||||
@ -1350,7 +1355,8 @@ ALLOWED_OPTIONS={
|
||||
"create" => {"replicas" => true},
|
||||
"add-node" => {"slave" => false, "master-id" => true},
|
||||
"import" => {"from" => :required, "copy" => false, "replace" => false},
|
||||
"reshard" => {"from" => true, "to" => true, "slots" => true, "yes" => false}
|
||||
"reshard" => {"from" => true, "to" => true, "slots" => true, "yes" => false, "timeout" => 15000},
|
||||
"fix" => {"timeout" => 15000},
|
||||
}
|
||||
|
||||
def show_help
|
||||
|
Loading…
x
Reference in New Issue
Block a user