diff options
| author | Lei Liu <lei01.liu@horizon.ai> | 2019-10-30 15:49:58 +0800 |
|---|---|---|
| committer | Lei Liu <lei01.liu@horizon.ai> | 2019-10-30 16:38:40 +0800 |
| commit | f2f90436efaf69f5e28a9b57e9f80e0f3e02847e (patch) | |
| tree | 46f324a69b875ea37869276047422ffe5db7489a /weed/server/master_server_handlers.go | |
| parent | 57e441d67be69311b2428d88dd41b5791ee51f99 (diff) | |
| download | seaweedfs-f2f90436efaf69f5e28a9b57e9f80e0f3e02847e.tar.xz seaweedfs-f2f90436efaf69f5e28a9b57e9f80e0f3e02847e.zip | |
fix leader master /dir/lookup api
Signed-off-by: Lei Liu <lei01.liu@horizon.ai>
Diffstat (limited to 'weed/server/master_server_handlers.go')
| -rw-r--r-- | weed/server/master_server_handlers.go | 14 |
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 { |
