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.go29
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,
}