aboutsummaryrefslogtreecommitdiff
path: root/weed/server/volume_grpc_client_to_master.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-03-22 16:21:42 -0700
committerChris Lu <chris.lu@gmail.com>2020-03-22 16:21:42 -0700
commit3137777d8395111f6c1eb4b3653e13f4961b8510 (patch)
tree14cfd08d09cd27c5886dd053a9af62b74f1188c5 /weed/server/volume_grpc_client_to_master.go
parent0bf148f49d63a834000f7bce63df2c0f4d78fa19 (diff)
downloadseaweedfs-3137777d8395111f6c1eb4b3653e13f4961b8510.tar.xz
seaweedfs-3137777d8395111f6c1eb4b3653e13f4961b8510.zip
volume: automatically detect max volume count
Diffstat (limited to 'weed/server/volume_grpc_client_to_master.go')
-rw-r--r--weed/server/volume_grpc_client_to_master.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/weed/server/volume_grpc_client_to_master.go b/weed/server/volume_grpc_client_to_master.go
index 1f4d9df10..517eb4bc0 100644
--- a/weed/server/volume_grpc_client_to_master.go
+++ b/weed/server/volume_grpc_client_to_master.go
@@ -80,8 +80,13 @@ func (vs *VolumeServer) doHeartbeat(masterNode, masterGrpcAddress string, grpcDi
doneChan <- err
return
}
- if in.GetVolumeSizeLimit() != 0 {
+ if in.GetVolumeSizeLimit() != 0 && vs.store.GetVolumeSizeLimit() != in.GetVolumeSizeLimit() {
vs.store.SetVolumeSizeLimit(in.GetVolumeSizeLimit())
+ if vs.store.MaybeAdjustVolumeMax() {
+ if err = stream.Send(vs.store.CollectHeartbeat()); err != nil {
+ glog.V(0).Infof("Volume Server Failed to talk with master %s: %v", masterNode, err)
+ }
+ }
}
if in.GetLeader() != "" && masterNode != in.GetLeader() && !isSameIP(in.GetLeader(), masterNode) {
glog.V(0).Infof("Volume Server found a new master newLeader: %v instead of %v", in.GetLeader(), masterNode)