Browse Source

feat(volume.fix): show all replica locations for misplaced volumes (#7560)

pull/7563/head
steve.wei 3 days ago
committed by GitHub
parent
commit
5c25df20f2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 7
      weed/shell/command_volume_fix_replication.go

7
weed/shell/command_volume_fix_replication.go

@ -7,6 +7,7 @@ import (
"io"
"path/filepath"
"strconv"
"strings"
"time"
"slices"
@ -116,7 +117,11 @@ func (c *commandVolumeFixReplication) Do(args []string, commandEnv *CommandEnv,
fmt.Fprintf(writer, "volume %d replication %s, but under replicated %+d\n", replica.info.Id, replicaPlacement, len(replicas))
case isMisplaced(replicas, replicaPlacement):
misplacedVolumeIds = append(misplacedVolumeIds, vid)
fmt.Fprintf(writer, "volume %d replication %s is not well placed %s\n", replica.info.Id, replicaPlacement, replica.location.dataNode.Id)
locations := make([]string, 0, len(replicas))
for _, r := range replicas {
locations = append(locations, r.location.String())
}
fmt.Fprintf(writer, "volume %d replication %s is not well placed [%s]\n", replica.info.Id, replicaPlacement, strings.Join(locations, ", "))
case replicaPlacement.GetCopyCount() < len(replicas):
overReplicatedVolumeIds = append(overReplicatedVolumeIds, vid)
fmt.Fprintf(writer, "volume %d replication %s, but over replicated %+d\n", replica.info.Id, replicaPlacement, len(replicas))

Loading…
Cancel
Save