From 22ad9876982569fe36d268505e3f6eef8f85868b Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Wed, 5 Feb 2020 11:25:15 -0600 Subject: [PATCH] Add a timeout to pgxpool min connection creation Ensure that CreateResource can't hang. --- pgxpool/pool.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pgxpool/pool.go b/pgxpool/pool.go index 02ff4e5a..c038bd0f 100644 --- a/pgxpool/pool.go +++ b/pgxpool/pool.go @@ -323,7 +323,11 @@ func (p *Pool) checkIdleConnsHealth() { func (p *Pool) checkMinConns() { for i := p.minConns - p.Stat().TotalConns(); i > 0; i-- { - go p.p.CreateResource(context.Background()) + go func() { + ctx, cancel := context.WithTimeout(context.Background(), time.Minute) + defer cancel() + p.p.CreateResource(ctx) + }() } }