Skip to content

Commit 07ab838

Browse files
committed
Add configuration parameter to set the configure max lifetime of database connections for bbs
1 parent ded9f55 commit 07ab838

File tree

3 files changed

+4
-0
lines changed

3 files changed

+4
-0
lines changed

cmd/bbs/config/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ type BBSConfig struct {
5252
DBReadTimeout durationjson.Duration `json:"db_read_timeout,omitempty"`
5353
DBWriteTimeout durationjson.Duration `json:"db_write_timeout,omitempty"`
5454
MaxOpenDatabaseConnections int `json:"max_open_database_connections,omitempty"`
55+
MaxDatabaseConnectionLifetime durationjson.Duration `json:"max_database_connection_lifetime,omitempty"`
5556
MaxTaskRetries int `json:"max_task_retries,omitempty"`
5657
RepCACert string `json:"rep_ca_cert,omitempty"`
5758
RepClientCert string `json:"rep_client_cert,omitempty"`

cmd/bbs/config/config_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ var _ = Describe("BBSConfig", func() {
6868
},
6969
"max_idle_database_connections": 50,
7070
"max_open_database_connections": 200,
71+
"max_database_connection_lifetime": "90s",
7172
"db_connection_timeout": "30s",
7273
"db_read_timeout": "600s",
7374
"db_write_timeout": "600s",
@@ -168,6 +169,7 @@ var _ = Describe("BBSConfig", func() {
168169
LockTTL: durationjson.Duration(locket.DefaultSessionTTL),
169170
MaxIdleDatabaseConnections: 50,
170171
MaxOpenDatabaseConnections: 200,
172+
MaxDatabaseConnectionLifetime: durationjson.Duration(90 * time.Second),
171173
DBConnectionTimeout: durationjson.Duration(30 * time.Second),
172174
DBReadTimeout: durationjson.Duration(600 * time.Second),
173175
DBWriteTimeout: durationjson.Duration(600 * time.Second),

cmd/bbs/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ func main() {
120120

121121
sqlConn.SetMaxOpenConns(bbsConfig.MaxOpenDatabaseConnections)
122122
sqlConn.SetMaxIdleConns(bbsConfig.MaxIdleDatabaseConnections)
123+
sqlConn.SetConnMaxLifetime(time.Duration(bbsConfig.MaxDatabaseConnectionLifetime))
123124

124125
err = sqlConn.Ping()
125126
if err != nil {

0 commit comments

Comments
 (0)