aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/command_volume_server_evacuate.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2023-09-25 09:35:16 -0700
committerchrislu <chris.lu@gmail.com>2023-09-25 09:35:16 -0700
commit645ae8c57bc449cbb298e90d1ad19f7d2153aea0 (patch)
tree08458e352ea27e8e673a3670269ec84f04512d77 /weed/shell/command_volume_server_evacuate.go
parent3d07895518b2b6e816518be0a2355c1f0a98ff15 (diff)
downloadseaweedfs-645ae8c57bc449cbb298e90d1ad19f7d2153aea0.tar.xz
seaweedfs-645ae8c57bc449cbb298e90d1ad19f7d2153aea0.zip
Revert "Revert "Merge branch 'master' of https://github.com/seaweedfs/seaweedfs""
This reverts commit 8cb42c39
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]