aboutsummaryrefslogtreecommitdiff
path: root/weed/server/master_server_handlers.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-11-08 22:54:41 -0800
committerChris Lu <chris.lu@gmail.com>2019-11-08 22:54:41 -0800
commitc5c1d83d91e5de51dd51b96cf338b00f38532d6c (patch)
tree692fed158b681b636fcb76ddf4702fb11d712835 /weed/server/master_server_handlers.go
parentdb30a460503d3a0c81ae78e621d5acf61585c473 (diff)
parentc34ffed43f9e6afde139c78a723fc56d843e03d4 (diff)
downloadseaweedfs-c5c1d83d91e5de51dd51b96cf338b00f38532d6c.tar.xz
seaweedfs-c5c1d83d91e5de51dd51b96cf338b00f38532d6c.zip
Merge branch 'master' into refactoring_dat_backend
Diffstat (limited to 'weed/server/master_server_handlers.go')
-rw-r--r--weed/server/master_server_handlers.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/weed/server/master_server_handlers.go b/weed/server/master_server_handlers.go
index c10f9a5b7..9bcd35ced 100644
--- a/weed/server/master_server_handlers.go
+++ b/weed/server/master_server_handlers.go
@@ -65,11 +65,17 @@ func (ms *MasterServer) findVolumeLocation(collection, vid string) operation.Loo
var err error
if ms.Topo.IsLeader() {
volumeId, newVolumeIdErr := needle.NewVolumeId(vid)
- machines := ms.Topo.Lookup(collection, volumeId)
- for _, loc := range machines {
- locations = append(locations, operation.Location{Url: loc.Url(), PublicUrl: loc.PublicUrl})
+ if newVolumeIdErr != nil {
+ err = fmt.Errorf("Unknown volume id %s", vid)
+ } else {
+ machines := ms.Topo.Lookup(collection, volumeId)
+ for _, loc := range machines {
+ locations = append(locations, operation.Location{Url: loc.Url(), PublicUrl: loc.PublicUrl})
+ }
+ if locations == nil {
+ err = fmt.Errorf("volume id %s not found", vid)
+ }
}
- err = newVolumeIdErr
} else {
machines, getVidLocationsErr := ms.MasterClient.GetVidLocations(vid)
for _, loc := range machines {