make sure the holder has opened before merging NodeStatus

This commit is contained in:
Travis Turner 2017-12-20 14:52:59 -06:00
parent 52897421ad
commit 17484fd73e
No known key found for this signature in database
GPG key ID: 7F08008DFD9314C9

View file

@ -512,7 +512,18 @@ func (s *Server) HandleRemoteStatus(pb proto.Message) error {
if s.Cluster.State != ClusterStateNormal {
return nil
}
return s.mergeRemoteStatus(pb.(*internal.NodeStatus))
go func() {
// Make sure the holder has opened.
<-s.Holder.opened
err := s.mergeRemoteStatus(pb.(*internal.NodeStatus))
if err != nil {
s.Logger().Printf("merge remote status: %s", err)
}
}()
return nil
}
func (s *Server) mergeRemoteStatus(ns *internal.NodeStatus) error {