From 03d0de7cdffb12edf1dae9c46d8c49d4fd06c755 Mon Sep 17 00:00:00 2001 From: David Thomson Date: Wed, 14 Oct 2015 06:56:14 +0100 Subject: [PATCH 1/2] Update import command to optionally use copy and replace parameters --- src/redis-trib.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/redis-trib.rb b/src/redis-trib.rb index 8e07aa22..577cf150 100755 --- a/src/redis-trib.rb +++ b/src/redis-trib.rb @@ -1149,7 +1149,8 @@ class RedisTrib def import_cluster_cmd(argv,opt) source_addr = opt['from'] xputs ">>> Importing data from #{source_addr} to cluster #{argv[1]}" - + use_copy = opt['copy'] + use_replace = opt['replace'] # Check the existing cluster. load_cluster_info_from_node(argv[0]) check_cluster @@ -1184,7 +1185,10 @@ class RedisTrib print "Migrating #{k} to #{target}: " STDOUT.flush begin - source.client.call(["migrate",target.info[:host],target.info[:port],k,0,15000]) + cmd = ["migrate",target.info[:host],target.info[:port],k,0,15000] + cmd << :copy if use_copy + cmd << :replace if use_replace + source.client.call(cmd) rescue => e puts e else @@ -1344,7 +1348,7 @@ COMMANDS={ ALLOWED_OPTIONS={ "create" => {"replicas" => true}, "add-node" => {"slave" => false, "master-id" => true}, - "import" => {"from" => :required}, + "import" => {"from" => :required, "copy" => false, "replace" => false}, "reshard" => {"from" => true, "to" => true, "slots" => true, "yes" => false} } From 8a85ad2d1cc93dab909fbdff82ff54fa063759bf Mon Sep 17 00:00:00 2001 From: David Thomson Date: Wed, 14 Oct 2015 06:58:36 +0100 Subject: [PATCH 2/2] Add back blank line --- src/redis-trib.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/src/redis-trib.rb b/src/redis-trib.rb index 577cf150..068e60d4 100755 --- a/src/redis-trib.rb +++ b/src/redis-trib.rb @@ -1151,6 +1151,7 @@ class RedisTrib xputs ">>> Importing data from #{source_addr} to cluster #{argv[1]}" use_copy = opt['copy'] use_replace = opt['replace'] + # Check the existing cluster. load_cluster_info_from_node(argv[0]) check_cluster