Skip to content

Commit

Permalink
pool: add log messages on connect error
Browse files Browse the repository at this point in the history
Add err log to ConnectionPool.Add() in case, when unable to establish
connection and ctx is not canceled; also added logs for error case of
ConnectionPool.tryConnect() calls in ConnectionPool.controller() and ConnectionPool.reconnect()

Part of #389
  • Loading branch information
Max Maximov authored and oleg-jukovec committed Mar 26, 2024
1 parent be0f71e commit edde459
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ Versioning](http://semver.org/spec/v2.0.0.html) except to the first release.
## [Unreleased]

### Added

- Add err log to `ConnectionPool.Add()` in case, when unable to establish
connection and ctx is not canceled;
also added logs for error case of `ConnectionPool.tryConnect()` calls in
`ConnectionPool.controller()` and `ConnectionPool.reconnect()`
### Changed

### Fixed
Expand Down
11 changes: 9 additions & 2 deletions pool/connection_pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}

Expand Down Expand Up @@ -1329,7 +1331,9 @@ 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) {
Expand Down Expand Up @@ -1417,7 +1421,10 @@ 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 {
Expand Down

0 comments on commit edde459

Please sign in to comment.