func (s *Sentinel) updateProxyConf(prevCV *cluster.ClusterView, cv *cluster.ClusterView, keepersState cluster.KeepersState) { masterID := cv.Master if prevCV.Master != masterID { log.Infof("deleting proxyconf") // Tell proxy to close connection to old master cv.ProxyConf = nil return } master, _ := keepersState[masterID] if s.isKeeperConverged(master, prevCV) { pc := &cluster.ProxyConf{ Host: master.PGListenAddress, Port: master.PGPort, } prevPC := prevCV.ProxyConf update := true if prevPC != nil { if prevPC.Host == pc.Host && prevPC.Port == pc.Port { update = false } } if update { log.Infof("updating proxyconf to %s:%s", pc.Host, pc.Port) cv.ProxyConf = pc } } return }