Skip to content

Commit 8a21fe4

Browse files
committed
scroll-tech#1042 Allow configure db ConnMaxLifetime & ConnMaxIdleTime
1 parent 02415a6 commit 8a21fe4

File tree

19 files changed

+80
-44
lines changed

19 files changed

+80
-44
lines changed

bridge-history-api/conf/config.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@
4040
"dsn": "postgres://postgres:123456@localhost:5444/test?sslmode=disable",
4141
"driverName": "postgres",
4242
"maxOpenNum": 200,
43-
"maxIdleNum": 20
43+
"maxIdleNum": 20,
44+
"maxLifetime": 600,
45+
"maxIdleTime": 300
4446
},
4547
"redis": {
4648
"address": "localhost:6379",

common/database/config.go

+2
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ type Config struct {
88

99
MaxOpenNum int `json:"maxOpenNum"`
1010
MaxIdleNum int `json:"maxIdleNum"`
11+
MaxLifetime int `json:"maxLifetime"`
12+
MaxIdleTime int `json:"maxIdleTime"`
1113
}

common/database/db.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ func InitDB(config *Config) (*gorm.DB, error) {
7070
return nil, pingErr
7171
}
7272

73-
sqlDB.SetConnMaxLifetime(time.Minute * 10)
74-
sqlDB.SetConnMaxIdleTime(time.Minute * 5)
73+
sqlDB.SetConnMaxLifetime(config.maxLifetime)
74+
sqlDB.SetConnMaxIdleTime(config.maxIdleTime)
7575

7676
sqlDB.SetMaxOpenConns(config.MaxOpenNum)
7777
sqlDB.SetMaxIdleConns(config.MaxIdleNum)

common/database/db_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ func TestDB(t *testing.T) {
4444
base.RunDBImage(t)
4545

4646
dbCfg := &Config{
47-
DSN: base.DBConfig.DSN,
48-
DriverName: base.DBConfig.DriverName,
49-
MaxOpenNum: base.DBConfig.MaxOpenNum,
50-
MaxIdleNum: base.DBConfig.MaxIdleNum,
47+
DSN: base.DBConfig.DSN,
48+
DriverName: base.DBConfig.DriverName,
49+
MaxOpenNum: base.DBConfig.MaxOpenNum,
50+
MaxIdleNum: base.DBConfig.MaxIdleNum,
51+
MaxLifetime: base.DBConfig.MaxLifetime,
52+
MaxIdleTime: base.DBConfig.MaxIdleTime,
5153
}
5254

5355
var err error

common/docker/docker_app.go

+2
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ func (b *App) mockDBConfig() error {
167167
DriverName: "postgres",
168168
MaxOpenNum: 200,
169169
MaxIdleNum: 20,
170+
MaxLifetime: 600,
171+
MaxIdleTime: 300
170172
}
171173

172174
if b.DBImg != nil {

coordinator/conf/config.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
"driver_name": "postgres",
1717
"dsn": "postgres://localhost/scroll?sslmode=disable",
1818
"maxOpenNum": 200,
19-
"maxIdleNum": 20
19+
"maxIdleNum": 20,
20+
"maxLifetime": 600,
21+
"maxIdleTime": 300
2022
},
2123
"l2": {
2224
"chain_id": 111

coordinator/internal/config/config_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ func TestConfig(t *testing.T) {
2929
"driver_name": "postgres",
3030
"dsn": "postgres://admin:123456@localhost/test?sslmode=disable",
3131
"maxOpenNum": 200,
32-
"maxIdleNum": 20
32+
"maxIdleNum": 20,
33+
"maxLifetime": 600,
34+
"maxIdleTime": 300
3335
},
3436
"l2": {
3537
"chain_id": 111

coordinator/internal/orm/orm_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,12 @@ func setupEnv(t *testing.T) {
3838
var err error
3939
db, err = database.InitDB(
4040
&database.Config{
41-
DSN: base.DBConfig.DSN,
42-
DriverName: base.DBConfig.DriverName,
43-
MaxOpenNum: base.DBConfig.MaxOpenNum,
44-
MaxIdleNum: base.DBConfig.MaxIdleNum,
41+
DSN: base.DBConfig.DSN,
42+
DriverName: base.DBConfig.DriverName,
43+
MaxOpenNum: base.DBConfig.MaxOpenNum,
44+
MaxIdleNum: base.DBConfig.MaxIdleNum,
45+
MaxLifetime: base.DBConfig.MaxLifetime,
46+
MaxIdleTime: base.DBConfig.MaxIdleTime,
4547
},
4648
)
4749
assert.NoError(t, err)

coordinator/test/api_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,12 @@ func setEnv(t *testing.T) {
125125
base.RunDBImage(t)
126126

127127
dbCfg = &database.Config{
128-
DSN: base.DBConfig.DSN,
129-
DriverName: base.DBConfig.DriverName,
130-
MaxOpenNum: base.DBConfig.MaxOpenNum,
131-
MaxIdleNum: base.DBConfig.MaxIdleNum,
128+
DSN: base.DBConfig.DSN,
129+
DriverName: base.DBConfig.DriverName,
130+
MaxOpenNum: base.DBConfig.MaxOpenNum,
131+
MaxIdleNum: base.DBConfig.MaxIdleNum,
132+
MaxLifetime: base.DBConfig.MaxLifetime,
133+
MaxIdleTime: base.DBConfig.MaxIdleTime,
132134
}
133135

134136
var err error

database/config.go

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ type DBConfig struct {
1414

1515
MaxOpenNum int `json:"maxOpenNum"`
1616
MaxIdleNum int `json:"maxIdleNum"`
17+
MaxLifetime int `json:"maxLifetime"`
18+
MaxIdleTime int `json:"maxIdleTime"`
1719
}
1820

1921
// NewConfig returns a new instance of Config.

database/config.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@
22
"dsn": "postgres://postgres:123456@localhost:5444/test?sslmode=disable",
33
"driver_name": "postgres",
44
"maxOpenNum": 200,
5-
"maxIdleNum": 20
5+
"maxIdleNum": 20,
6+
"maxLifetime": 600,
7+
"maxIdleTime": 300
68
}

database/config_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ func TestConfig(t *testing.T) {
1515
"dsn": "postgres://postgres:123456@localhost:5444/test?sslmode=disable",
1616
"driver_name": "postgres",
1717
"maxOpenNum": %d,
18-
"maxIdleNum": %d
18+
"maxIdleNum": %d,
19+
"maxLifetime": %d,
20+
"maxIdleTime": %d
1921
}`
2022

2123
t.Run("Success Case", func(t *testing.T) {

rollup/conf/config.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@
8181
"driver_name": "postgres",
8282
"dsn": "postgres://localhost/scroll?sslmode=disable",
8383
"maxOpenNum": 200,
84-
"maxIdleNum": 20
84+
"maxIdleNum": 20,
85+
"maxLifetime": 600,
86+
"maxIdleTime": 300
8587
}
8688
}

rollup/internal/controller/relayer/relayer_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,12 @@ func setupEnv(t *testing.T) {
5656
cfg.L2Config.RelayerConfig.SenderConfig.Endpoint = base.L1gethImg.Endpoint()
5757
cfg.L1Config.RelayerConfig.SenderConfig.Endpoint = base.L2gethImg.Endpoint()
5858
cfg.DBConfig = &database.Config{
59-
DSN: base.DBConfig.DSN,
60-
DriverName: base.DBConfig.DriverName,
61-
MaxOpenNum: base.DBConfig.MaxOpenNum,
62-
MaxIdleNum: base.DBConfig.MaxIdleNum,
59+
DSN: base.DBConfig.DSN,
60+
DriverName: base.DBConfig.DriverName,
61+
MaxOpenNum: base.DBConfig.MaxOpenNum,
62+
MaxIdleNum: base.DBConfig.MaxIdleNum,
63+
MaxLifetime: base.DBConfig.MaxLifetime,
64+
MaxIdleTime: base.DBConfig.MaxIdleTime,
6365
}
6466
port, err := rand.Int(rand.Reader, big.NewInt(10000))
6567
assert.NoError(t, err)

rollup/internal/controller/sender/sender_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,12 @@ func setupEnv(t *testing.T) {
8585
base.RunDBImage(t)
8686
db, err = database.InitDB(
8787
&database.Config{
88-
DSN: base.DBConfig.DSN,
89-
DriverName: base.DBConfig.DriverName,
90-
MaxOpenNum: base.DBConfig.MaxOpenNum,
91-
MaxIdleNum: base.DBConfig.MaxIdleNum,
88+
DSN: base.DBConfig.DSN,
89+
DriverName: base.DBConfig.DriverName,
90+
MaxOpenNum: base.DBConfig.MaxOpenNum,
91+
MaxIdleNum: base.DBConfig.MaxIdleNum,
92+
MaxLifetime: base.DBConfig.MaxLifetime,
93+
MaxIdleTime: base.DBConfig.MaxIdleTime,
9294
},
9395
)
9496
assert.NoError(t, err)

rollup/internal/controller/watcher/watcher_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,12 @@ func setupEnv(t *testing.T) (err error) {
4747
cfg.L2Config.RelayerConfig.SenderConfig.Endpoint = base.L1gethImg.Endpoint()
4848
cfg.L1Config.RelayerConfig.SenderConfig.Endpoint = base.L2gethImg.Endpoint()
4949
cfg.DBConfig = &database.Config{
50-
DSN: base.DBConfig.DSN,
51-
DriverName: base.DBConfig.DriverName,
52-
MaxOpenNum: base.DBConfig.MaxOpenNum,
53-
MaxIdleNum: base.DBConfig.MaxIdleNum,
50+
DSN: base.DBConfig.DSN,
51+
DriverName: base.DBConfig.DriverName,
52+
MaxOpenNum: base.DBConfig.MaxOpenNum,
53+
MaxIdleNum: base.DBConfig.MaxIdleNum,
54+
MaxLifetime: base.DBConfig.MaxLifetime,
55+
MaxIdleTime: base.DBConfig.MaxIdleTime,
5456
}
5557

5658
// Create l2geth client.

rollup/internal/orm/orm_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,12 @@ func setupEnv(t *testing.T) {
5050
var err error
5151
db, err = database.InitDB(
5252
&database.Config{
53-
DSN: base.DBConfig.DSN,
54-
DriverName: base.DBConfig.DriverName,
55-
MaxOpenNum: base.DBConfig.MaxOpenNum,
56-
MaxIdleNum: base.DBConfig.MaxIdleNum,
53+
DSN: base.DBConfig.DSN,
54+
DriverName: base.DBConfig.DriverName,
55+
MaxOpenNum: base.DBConfig.MaxOpenNum,
56+
MaxIdleNum: base.DBConfig.MaxIdleNum,
57+
MaxLifetime: base.DBConfig.MaxLifetime,
58+
MaxIdleTime: base.DBConfig.MaxIdleTime,
5759
},
5860
)
5961
assert.NoError(t, err)

rollup/tests/bridge_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,12 @@ var (
4848

4949
func setupDB(t *testing.T) *gorm.DB {
5050
cfg := &database.Config{
51-
DSN: base.DBConfig.DSN,
52-
DriverName: base.DBConfig.DriverName,
53-
MaxOpenNum: base.DBConfig.MaxOpenNum,
54-
MaxIdleNum: base.DBConfig.MaxIdleNum,
51+
DSN: base.DBConfig.DSN,
52+
DriverName: base.DBConfig.DriverName,
53+
MaxOpenNum: base.DBConfig.MaxOpenNum,
54+
MaxIdleNum: base.DBConfig.MaxIdleNum,
55+
MaxLifetime: base.DBConfig.MaxLifetime,
56+
MaxIdleTime: base.DBConfig.MaxIdleTime,
5557
}
5658
db, err := database.InitDB(cfg)
5759
assert.NoError(t, err)

tests/integration-test/integration_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,12 @@ func TestCoordinatorProverInteraction(t *testing.T) {
4848

4949
// Init data
5050
dbCfg := &database.Config{
51-
DSN: base.DBConfig.DSN,
52-
DriverName: base.DBConfig.DriverName,
53-
MaxOpenNum: base.DBConfig.MaxOpenNum,
54-
MaxIdleNum: base.DBConfig.MaxIdleNum,
51+
DSN: base.DBConfig.DSN,
52+
DriverName: base.DBConfig.DriverName,
53+
MaxOpenNum: base.DBConfig.MaxOpenNum,
54+
MaxIdleNum: base.DBConfig.MaxIdleNum,
55+
MaxLifetime: base.DBConfig.MaxLifetime,
56+
MaxIdleTime: base.DBConfig.MaxIdleTime,
5557
}
5658

5759
db, err := database.InitDB(dbCfg)

0 commit comments

Comments
 (0)