diff options
Diffstat (limited to 'weed/server/volume_grpc_client_to_master.go')
| -rw-r--r-- | weed/server/volume_grpc_client_to_master.go | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/weed/server/volume_grpc_client_to_master.go b/weed/server/volume_grpc_client_to_master.go index f3f99ee7b..d4f3b2853 100644 --- a/weed/server/volume_grpc_client_to_master.go +++ b/weed/server/volume_grpc_client_to_master.go @@ -2,9 +2,11 @@ package weed_server import ( "fmt" - "github.com/chrislusf/seaweedfs/weed/operation" + "os" "time" + "github.com/chrislusf/seaweedfs/weed/operation" + "google.golang.org/grpc" "github.com/chrislusf/seaweedfs/weed/pb" @@ -116,6 +118,18 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti doneChan <- err return } + if len(in.DuplicatedUuids) > 0 { + var duplictedDir []string + for _, loc := range vs.store.Locations { + for _, uuid := range in.DuplicatedUuids { + if uuid == loc.DirectoryUuid { + duplictedDir = append(duplictedDir, loc.Directory) + } + } + } + glog.Errorf("Shut down Volume Server due to duplicated volume directories: %v", duplictedDir) + os.Exit(1) + } if in.GetVolumeSizeLimit() != 0 && vs.store.GetVolumeSizeLimit() != in.GetVolumeSizeLimit() { vs.store.SetVolumeSizeLimit(in.GetVolumeSizeLimit()) if vs.store.MaybeAdjustVolumeMax() { |
