aboutsummaryrefslogtreecommitdiff
path: root/weed/server/volume_grpc_client.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/server/volume_grpc_client.go')
-rw-r--r--weed/server/volume_grpc_client.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/weed/server/volume_grpc_client.go b/weed/server/volume_grpc_client.go
index de6fa23c7..219948936 100644
--- a/weed/server/volume_grpc_client.go
+++ b/weed/server/volume_grpc_client.go
@@ -89,6 +89,22 @@ func (vs *VolumeServer) doHeartbeat(masterNode string, sleepInterval time.Durati
for {
select {
+ case vid := <-vs.store.NewVolumeIdChan:
+ deltaBeat := &master_pb.Heartbeat{
+ NewVids: []uint32{uint32(vid)},
+ }
+ if err = stream.Send(deltaBeat); err != nil {
+ glog.V(0).Infof("Volume Server Failed to update to master %s: %v", masterNode, err)
+ return "", err
+ }
+ case vid := <-vs.store.DeletedVolumeIdChan:
+ deltaBeat := &master_pb.Heartbeat{
+ DeletedVids: []uint32{uint32(vid)},
+ }
+ if err = stream.Send(deltaBeat); err != nil {
+ glog.V(0).Infof("Volume Server Failed to update to master %s: %v", masterNode, err)
+ return "", err
+ }
case <-tickChan:
if err = stream.Send(vs.store.CollectHeartbeat()); err != nil {
glog.V(0).Infof("Volume Server Failed to talk with master %s: %v", masterNode, err)