Merge pull request #1024 from travisturner/cluster-resize-holder-open-race

make sure the holder has opened before merging NodeStatus
This commit is contained in:
Travis Turner 2017-12-21 09:07:36 -06:00 committed by GitHub
commit 2772daa395
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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 {