Skip to content

Commit 2be8573

Browse files
authored
Merge pull request canonical#1 from canonical/feature/maxlifetime
Add MaxLifetime to connections so we react to leader changes
2 parents e17c96e + fca8262 commit 2be8573

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

pkg/drivers/generic/generic.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@ type Generic struct {
8585
TranslateErr TranslateErr
8686
}
8787

88+
func configureConnectionPooling(db *sql.DB) {
89+
db.SetMaxIdleConns(5)
90+
db.SetMaxOpenConns(5)
91+
db.SetConnMaxLifetime(60 * time.Second)
92+
}
93+
8894
func q(sql, param string, numbered bool) string {
8995
if param == "?" && !numbered {
9096
return sql
@@ -128,8 +134,6 @@ func openAndTest(driverName, dataSourceName string) (*sql.DB, error) {
128134
if err != nil {
129135
return nil, err
130136
}
131-
db.SetMaxIdleConns(5)
132-
db.SetMaxOpenConns(5)
133137

134138
for i := 0; i < 3; i++ {
135139
if err := db.Ping(); err != nil {
@@ -161,6 +165,8 @@ func Open(ctx context.Context, driverName, dataSourceName string, paramCharacter
161165
}
162166
}
163167

168+
configureConnectionPooling(db)
169+
164170
return &Generic{
165171
DB: db,
166172

0 commit comments

Comments
 (0)