Jelajahi Sumber

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 10 tahun lalu
induk
melakukan
5db16e32cc
1 mengubah file dengan 2 tambahan dan 1 penghapusan
  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)