Skip to content

go-tarantool/v2/pool.Add: no logs on single connection failure #389

Open
@Maximilan4

Description

@Maximilan4

Create pool with empty set of instances:

p, err := pool.ConnectWithOpts(ctx, []pool.Instance{}, connOpts)
...

Later, try to add new instances via add method:

if err = p.Add(ctx, instance); err != nil {
  return fmt.Errorf("conn [%s] err: %w", instance.Name, err)
}

When unable to establish connection with tarantool, i got no err here, no message in logs.
First of all, no any logging at pool/connection_pool.go:285, if canceled variable is false.
Second - no any err handling and logging at pool/connection_pool.go:1419.

Easy proposal: add some basic log.Printf for logging errors in code above.
Hard proposal:

  1. expand basic Logger interface by basic logging methods (Info)
  2. remove method Report from Logger
  3. move method Report from defaultLogger to a specific or common dealer, which always logs specific events with Logger methods
  4. use Logger more often in code

This can allow:

  1. use custom logger inside a connector by writing specific adapter
  2. do not touch default log.SetOutput
  3. manage of verbose level

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions