ed.decode prefers servers with most data shards

This commit is contained in:
Chris Lu 2019-12-24 00:00:45 -08:00
parent a18f62bbe7
commit 1ad34a2487

View file

@ -149,8 +149,9 @@ func collectEcShards(ctx context.Context, commandEnv *CommandEnv, nodeToEcIndexB
maxShardCount := 0
var exisitngEcIndexBits erasure_coding.ShardBits
for loc, ecIndexBits := range nodeToEcIndexBits {
if ecIndexBits.ShardIdCount() > maxShardCount {
maxShardCount = ecIndexBits.ShardIdCount()
toBeCopiedShardCount := ecIndexBits.MinusParityShards().ShardIdCount()
if toBeCopiedShardCount > maxShardCount {
maxShardCount = toBeCopiedShardCount
targetNodeLocation = loc
exisitngEcIndexBits = ecIndexBits
}