shell: fix moving volume, volume server evacuate

fix https://github.com/chrislusf/seaweedfs/issues/1534
This commit is contained in:
Chris Lu 2021-03-14 21:29:55 -07:00
parent ca100568f7
commit a4cfffc264
2 changed files with 19 additions and 3 deletions

View file

@ -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 loc := newLocation(emptyNode.dc, emptyNode.rack, emptyNode.info)
replica.location.rack = emptyNode.rack replica.location = &loc
replica.location.dataNode = emptyNode.info
return return
} }
} }

View file

@ -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)
}
}