Explorar o código

When the hostpool is empty dont block in fill

If the host is down and its connect blocks until timeout the
caller should not be blocked because it may be coming from a call
to execute a query.
Chris Bannister %!s(int64=10) %!d(string=hai) anos
pai
achega
5db16e32cc
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      connectionpool.go

+ 2 - 1
connectionpool.go

@@ -679,7 +679,8 @@ func (pool *hostConnPool) Pick(qry *Query) *Conn {
 
 	if empty {
 		// try to fill the empty pool
-		pool.fill()
+		go pool.fill()
+		return nil
 	}
 
 	return pool.policy.Pick(qry)