Merge pull request #181 from redsquirrel/unstable

Fixing inject: it was failing when there was 1 or >2 sources
This commit is contained in:
Salvatore Sanfilippo 2011-11-15 06:36:53 -08:00
commit 7b81e5a16c

View File

@ -319,7 +319,7 @@ class RedisTrib
# divisibility. Like we have 3 nodes and need to get 10 slots, we take
# 4 from the first, and 3 from the rest. So the biggest is always the first.
sources = sources.sort{|a,b| b.slots.length <=> a.slots.length}
source_tot_slots = sources.inject {|a,b| a.slots.length+b.slots.length}
source_tot_slots = sources.inject(0) {|sum,source| sum+source.slots.length}
sources.each_with_index{|s,i|
# Every node will provide a number of slots proportional to the
# slots it has assigned.