aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/command_ec_balance.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-06-04 01:32:36 -0700
committerChris Lu <chris.lu@gmail.com>2019-06-04 01:32:36 -0700
commit6cea23d091120f53b7a6b2dd657add0954d93739 (patch)
tree8b38d741f4a4569ab3ed6ee3f41c93f936d26ef0 /weed/shell/command_ec_balance.go
parentb05456fe07f49e50776124f5b3315c4bd7bfef36 (diff)
downloadseaweedfs-6cea23d091120f53b7a6b2dd657add0954d93739.tar.xz
seaweedfs-6cea23d091120f53b7a6b2dd657add0954d93739.zip
purge duplicated ec shards
Diffstat (limited to 'weed/shell/command_ec_balance.go')
-rw-r--r--weed/shell/command_ec_balance.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/weed/shell/command_ec_balance.go b/weed/shell/command_ec_balance.go
index 664284df9..414f0ec4d 100644
--- a/weed/shell/command_ec_balance.go
+++ b/weed/shell/command_ec_balance.go
@@ -186,18 +186,20 @@ func doDeduplicateEcShards(ctx context.Context, commandEnv *commandEnv, collecti
continue
}
sortEcNodes(ecNodes)
- fmt.Printf("ec shard %d.%d has %d copies, removing from %+v\n", vid, shardId, len(ecNodes), ecNodes[1:])
+ fmt.Printf("ec shard %d.%d has %d copies, keeping %v\n", vid, shardId, len(ecNodes), ecNodes[0].info.Id)
if !applyBalancing {
continue
}
+
+ duplicatedShardIds := []uint32{uint32(shardId)}
for _, ecNode := range ecNodes[1:] {
- duplicatedShardIds := []uint32{uint32(shardId)}
if err := unmountEcShards(ctx, commandEnv.option.GrpcDialOption, vid, ecNode.info.Id, duplicatedShardIds); err != nil {
return err
}
if err := sourceServerDeleteEcShards(ctx, commandEnv.option.GrpcDialOption, collection, vid, ecNode.info.Id, duplicatedShardIds); err != nil {
return err
}
+ ecNode.freeEcSlot++
}
}
return nil