Closed
Description
Issue description
connCheck
added in #934 allocates several objects.
./conncheck.go:22:16: leaking param: c
./conncheck.go:24:3: moved to heap: n
./conncheck.go:25:3: moved to heap: err
./conncheck.go:26:3: moved to heap: buff
./conncheck.go:37:18: func literal escapes to heap
Allocating 5 objects every time connection is checked out from the sql.DB is not good for performance. This can be a big performance regression.
Additionally, users may want to check liveness only after long idle.
Or Aurora users want to check SELECT @@innodb_read_only
to detect fail over. ref.
Metadata
Metadata
Assignees
Labels
No labels
Activity
renthraysk commentedon Sep 5, 2019
buff could be shifted to inside the closure.
julienschmidt commentedon Sep 6, 2019
We can move even a bit more inside the closure: c016c38
CheckConnLiveness
by default. #1451