소스 검색

session: update the host if it exists in the ring on connect

Chris Bannister 9 년 전
부모
커밋
2cbb8f1069
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      session.go

+ 4 - 1
session.go

@@ -149,7 +149,10 @@ func NewSession(cfg ClusterConfig) (*Session, error) {
 
 	for _, host := range hosts {
 		if s.cfg.HostFilter == nil || s.cfg.HostFilter.Accept(host) {
-			s.ring.addHost(host)
+			if existingHost, ok := s.ring.addHostIfMissing(host); ok {
+				existingHost.update(host)
+			}
+
 			s.handleNodeUp(net.ParseIP(host.Peer()), host.Port(), false)
 		}
 	}