diff options
Diffstat (limited to 'weed/server/volume_grpc_client_to_master.go')
| -rw-r--r-- | weed/server/volume_grpc_client_to_master.go | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/weed/server/volume_grpc_client_to_master.go b/weed/server/volume_grpc_client_to_master.go index e55d821a8..3849eac19 100644 --- a/weed/server/volume_grpc_client_to_master.go +++ b/weed/server/volume_grpc_client_to_master.go @@ -160,11 +160,18 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti volumeTickChan := time.Tick(sleepInterval) ecShardTickChan := time.Tick(17 * sleepInterval) - + dataCenter := vs.store.GetDataCenter() + rack := vs.store.GetRack() + ip := vs.store.Ip + port := uint32(vs.store.Port) for { select { case volumeMessage := <-vs.store.NewVolumesChan: deltaBeat := &master_pb.Heartbeat{ + Ip: ip, + Port: port, + DataCenter: dataCenter, + Rack: rack, NewVolumes: []*master_pb.VolumeShortInformationMessage{ &volumeMessage, }, @@ -176,6 +183,10 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti } case ecShardMessage := <-vs.store.NewEcShardsChan: deltaBeat := &master_pb.Heartbeat{ + Ip: ip, + Port: port, + DataCenter: dataCenter, + Rack: rack, NewEcShards: []*master_pb.VolumeEcShardInformationMessage{ &ecShardMessage, }, @@ -188,6 +199,10 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti } case volumeMessage := <-vs.store.DeletedVolumesChan: deltaBeat := &master_pb.Heartbeat{ + Ip: ip, + Port: port, + DataCenter: dataCenter, + Rack: rack, DeletedVolumes: []*master_pb.VolumeShortInformationMessage{ &volumeMessage, }, @@ -199,6 +214,10 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti } case ecShardMessage := <-vs.store.DeletedEcShardsChan: deltaBeat := &master_pb.Heartbeat{ + Ip: ip, + Port: port, + DataCenter: dataCenter, + Rack: rack, DeletedEcShards: []*master_pb.VolumeEcShardInformationMessage{ &ecShardMessage, }, @@ -227,12 +246,12 @@ func (vs *VolumeServer) doHeartbeat(masterAddress pb.ServerAddress, grpcDialOpti case <-vs.stopChan: var volumeMessages []*master_pb.VolumeInformationMessage emptyBeat := &master_pb.Heartbeat{ - Ip: vs.store.Ip, - Port: uint32(vs.store.Port), + Ip: ip, + Port: port, PublicUrl: vs.store.PublicUrl, MaxFileKey: uint64(0), - DataCenter: vs.store.GetDataCenter(), - Rack: vs.store.GetRack(), + DataCenter: dataCenter, + Rack: rack, Volumes: volumeMessages, HasNoVolumes: len(volumeMessages) == 0, } |
