aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/command_volume_server_evacuate.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2023-09-18 16:06:41 -0700
committerchrislu <chris.lu@gmail.com>2023-09-18 16:06:41 -0700
commit2e5aa06026750c99ea283181974d2ccfe5eb0468 (patch)
tree7360ecafeb9f8c81e46244b5da9b07e2b74f3fff /weed/shell/command_volume_server_evacuate.go
parent4d414f54a224142f3f4d934f4af3b5dceb6fec6b (diff)
parenta04bd4d26fb355fff6447dd8e508fa54f3c6c180 (diff)
downloadseaweedfs-2e5aa06026750c99ea283181974d2ccfe5eb0468.tar.xz
seaweedfs-2e5aa06026750c99ea283181974d2ccfe5eb0468.zip
Merge branch 'master' of https://github.com/seaweedfs/seaweedfs
Diffstat (limited to 'weed/shell/command_volume_server_evacuate.go')
-rw-r--r--weed/shell/command_volume_server_evacuate.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/weed/shell/command_volume_server_evacuate.go b/weed/shell/command_volume_server_evacuate.go
index bf0c192ec..57eb6fc45 100644
--- a/weed/shell/command_volume_server_evacuate.go
+++ b/weed/shell/command_volume_server_evacuate.go
@@ -179,8 +179,8 @@ func (c *commandVolumeServerEvacuate) evacuateEcVolumes(commandEnv *CommandEnv,
func (c *commandVolumeServerEvacuate) moveAwayOneEcVolume(commandEnv *CommandEnv, ecShardInfo *master_pb.VolumeEcShardInformationMessage, thisNode *EcNode, otherNodes []*EcNode, applyChange bool) (hasMoved bool, err error) {
for _, shardId := range erasure_coding.ShardBits(ecShardInfo.EcIndexBits).ShardIds() {
- slices.SortFunc(otherNodes, func(a, b *EcNode) bool {
- return a.localShardIdCount(ecShardInfo.Id) < b.localShardIdCount(ecShardInfo.Id)
+ slices.SortFunc(otherNodes, func(a, b *EcNode) int {
+ return a.localShardIdCount(ecShardInfo.Id) - b.localShardIdCount(ecShardInfo.Id)
})
for i := 0; i < len(otherNodes); i++ {
emptyNode := otherNodes[i]
@@ -214,8 +214,8 @@ func moveAwayOneNormalVolume(commandEnv *CommandEnv, volumeReplicas map[uint32][
})
}
// most empty one is in the front
- slices.SortFunc(otherNodes, func(a, b *Node) bool {
- return a.localVolumeRatio(maxVolumeCountFn) < b.localVolumeRatio(maxVolumeCountFn)
+ slices.SortFunc(otherNodes, func(a, b *Node) int {
+ return int(a.localVolumeRatio(maxVolumeCountFn) - b.localVolumeRatio(maxVolumeCountFn))
})
for i := 0; i < len(otherNodes); i++ {
emptyNode := otherNodes[i]