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 maxShardCount := 0
var exisitngEcIndexBits erasure_coding.ShardBits var exisitngEcIndexBits erasure_coding.ShardBits
for loc, ecIndexBits := range nodeToEcIndexBits { for loc, ecIndexBits := range nodeToEcIndexBits {
if ecIndexBits.ShardIdCount() > maxShardCount { toBeCopiedShardCount := ecIndexBits.MinusParityShards().ShardIdCount()
maxShardCount = ecIndexBits.ShardIdCount() if toBeCopiedShardCount > maxShardCount {
maxShardCount = toBeCopiedShardCount
targetNodeLocation = loc targetNodeLocation = loc
exisitngEcIndexBits = ecIndexBits exisitngEcIndexBits = ecIndexBits
} }