aboutsummaryrefslogtreecommitdiff
path: root/weed/server/volume_grpc_client_to_master.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/server/volume_grpc_client_to_master.go')
-rw-r--r--weed/server/volume_grpc_client_to_master.go16
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() {