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.go11
1 files changed, 10 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..5e341f07c 100644
--- a/weed/server/volume_grpc_client_to_master.go
+++ b/weed/server/volume_grpc_client_to_master.go
@@ -2,9 +2,12 @@ package weed_server
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/operation"
+ "os"
+ "syscall"
"time"
+ "github.com/chrislusf/seaweedfs/weed/operation"
+
"google.golang.org/grpc"
"github.com/chrislusf/seaweedfs/weed/pb"
@@ -116,6 +119,12 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti
doneChan <- err
return
}
+ if in.HasDuplicatedDirectory {
+ glog.Error("Shut Down Volume Server due to duplicated volume directory")
+ glog.V(0).Infof("send SIGINT to Volume Server")
+ p, _ := os.FindProcess(vs.pid)
+ p.Signal(syscall.SIGINT)
+ }
if in.GetVolumeSizeLimit() != 0 && vs.store.GetVolumeSizeLimit() != in.GetVolumeSizeLimit() {
vs.store.SetVolumeSizeLimit(in.GetVolumeSizeLimit())
if vs.store.MaybeAdjustVolumeMax() {