Browse Source

shell: fix moving volume, volume server evacuate

fix https://github.com/chrislusf/seaweedfs/issues/1534
pull/1905/head
Chris Lu 4 years ago
parent
commit
a4cfffc264
  1. 5
      weed/shell/command_volume_balance.go
  2. 17
      weed/shell/command_volume_server_evacuate_test.go

5
weed/shell/command_volume_balance.go

@ -393,9 +393,8 @@ func adjustAfterMove(v *master_pb.VolumeInformationMessage, volumeReplicas map[u
if replica.location.dataNode.Id == fullNode.info.Id && if replica.location.dataNode.Id == fullNode.info.Id &&
replica.location.rack == fullNode.rack && replica.location.rack == fullNode.rack &&
replica.location.dc == fullNode.dc { replica.location.dc == fullNode.dc {
replica.location.dc = emptyNode.dc
replica.location.rack = emptyNode.rack
replica.location.dataNode = emptyNode.info
loc := newLocation(emptyNode.dc, emptyNode.rack, emptyNode.info)
replica.location = &loc
return return
} }
} }

17
weed/shell/command_volume_server_evacuate_test.go

@ -0,0 +1,17 @@
package shell
import (
"os"
"testing"
)
func TestVolumeServerEvacuate(t *testing.T) {
topologyInfo := parseOutput(topoData)
volumeServer := "192.168.1.4:8080"
if err := evacuateNormalVolumes(nil, topologyInfo, volumeServer, true, false, os.Stdout); err != nil {
t.Errorf("evacuate: %v", err)
}
}
Loading…
Cancel
Save