Переглянути джерело

invert pool exists check to always fill on the same path

Chris Bannister 9 роки тому
батько
коміт
c771797850
1 змінених файлів з 11 додано та 16 видалено
  1. 11 16
      connectionpool.go

+ 11 - 16
connectionpool.go

@@ -241,24 +241,19 @@ func (p *policyConnPool) Close() {
 
 func (p *policyConnPool) addHost(host *HostInfo) {
 	p.mu.Lock()
-
 	pool, ok := p.hostConnPools[host.Peer()]
-	if ok {
-		p.mu.Unlock()
-		pool.fill()
-		return
+	if !ok {
+		pool = newHostConnPool(
+			p.session,
+			host,
+			host.Port(),
+			p.numConns,
+			p.keyspace,
+			p.connPolicy(),
+		)
+
+		p.hostConnPools[host.Peer()] = pool
 	}
-
-	pool = newHostConnPool(
-		p.session,
-		host,
-		host.Port(),
-		p.numConns,
-		p.keyspace,
-		p.connPolicy(),
-	)
-
-	p.hostConnPools[host.Peer()] = pool
 	p.mu.Unlock()
 
 	pool.fill()