mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
Merge pull request #3152 from be-hase/fix/check_open_slots
Fix redis-trib.rb
This commit is contained in:
commit
09153b9127
@ -407,7 +407,8 @@ class RedisTrib
|
|||||||
cluster_error \
|
cluster_error \
|
||||||
"[WARNING] Node #{n} has slots in migrating state (#{n.info[:migrating].keys.join(",")})."
|
"[WARNING] Node #{n} has slots in migrating state (#{n.info[:migrating].keys.join(",")})."
|
||||||
open_slots += n.info[:migrating].keys
|
open_slots += n.info[:migrating].keys
|
||||||
elsif n.info[:importing].size > 0
|
end
|
||||||
|
if n.info[:importing].size > 0
|
||||||
cluster_error \
|
cluster_error \
|
||||||
"[WARNING] Node #{n} has slots in importing state (#{n.info[:importing].keys.join(",")})."
|
"[WARNING] Node #{n} has slots in importing state (#{n.info[:importing].keys.join(",")})."
|
||||||
open_slots += n.info[:importing].keys
|
open_slots += n.info[:importing].keys
|
||||||
@ -567,17 +568,17 @@ class RedisTrib
|
|||||||
|
|
||||||
# Use ADDSLOTS to assign the slot.
|
# Use ADDSLOTS to assign the slot.
|
||||||
puts "*** Configuring #{owner} as the slot owner"
|
puts "*** Configuring #{owner} as the slot owner"
|
||||||
n.r.cluster("setslot",slot,"stable")
|
owner.r.cluster("setslot",slot,"stable")
|
||||||
n.r.cluster("addslot",slot)
|
owner.r.cluster("addslots",slot)
|
||||||
# Make sure this information will propagate. Not strictly needed
|
# Make sure this information will propagate. Not strictly needed
|
||||||
# since there is no past owner, so all the other nodes will accept
|
# since there is no past owner, so all the other nodes will accept
|
||||||
# whatever epoch this node will claim the slot with.
|
# whatever epoch this node will claim the slot with.
|
||||||
n.r.cluster("bumpepoch")
|
owner.r.cluster("bumpepoch")
|
||||||
|
|
||||||
# Remove the owner from the list of migrating/importing
|
# Remove the owner from the list of migrating/importing
|
||||||
# nodes.
|
# nodes.
|
||||||
migrating.delete(n)
|
migrating.delete(owner)
|
||||||
importing.delete(n)
|
importing.delete(owner)
|
||||||
end
|
end
|
||||||
|
|
||||||
# If there are multiple owners of the slot, we need to fix it
|
# If there are multiple owners of the slot, we need to fix it
|
||||||
|
Loading…
x
Reference in New Issue
Block a user