diff --git a/pool/connection_pool.go b/pool/connection_pool.go index 949b468bc..cbd7797e7 100644 --- a/pool/connection_pool.go +++ b/pool/connection_pool.go @@ -289,6 +289,8 @@ func (p *ConnectionPool) Add(ctx context.Context, instance Instance) error { e.cancel() close(e.closed) return err + } else { + log.Printf("tarantool: connect to %s failed: %s\n", instance.Name, err) } } @@ -1329,14 +1331,20 @@ func (p *ConnectionPool) reconnect(ctx context.Context, e *endpoint) { e.conn = nil e.role = UnknownRole - p.tryConnect(ctx, e) + if err := p.tryConnect(ctx, e); err != nil { + log.Printf("tarantool: reconnect to %s failed: %s\n", e.name, err) + } } func (p *ConnectionPool) controller(ctx context.Context, e *endpoint) { timer := time.NewTicker(p.opts.CheckTimeout) defer timer.Stop() - shutdown := false + var ( + shutdown = false + err error + ) + for { if shutdown { // Graceful shutdown in progress. We need to wait for a finish or @@ -1417,7 +1425,9 @@ func (p *ConnectionPool) controller(ctx context.Context, e *endpoint) { // Relocate connection between subpools // if ro/rw was updated. if e.conn == nil { - p.tryConnect(ctx, e) + if err = p.tryConnect(ctx, e); err != nil { + log.Printf("tarantool: reopen connection to %s failed: %s\n", e.name, err) + } } else if !e.conn.ClosedNow() { p.updateConnection(e) } else {