Browse Source

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 năm trước cách đây
mục cha
commit
5db16e32cc
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  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)