mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-09-27 01:56:03 +08:00
fix: issue where db connections were not being closed in go migrations or when configmap changes were detected
This commit is contained in:
@@ -40,6 +40,7 @@ func main() {
|
||||
|
||||
dbDriverName, dbDataSourceName := config.DatabaseConnection()
|
||||
db := sqlx.MustConnect(dbDriverName, dbDataSourceName)
|
||||
defer db.Close()
|
||||
|
||||
command := args[0]
|
||||
|
||||
|
@@ -83,6 +83,7 @@ func Up20200525160514(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -127,6 +127,7 @@ func Up20200528140124(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -103,6 +103,7 @@ func Up20200605090509(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -103,6 +103,7 @@ func Up20200605090535(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -132,6 +132,7 @@ func Up20200626113635(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -134,6 +134,7 @@ func Up20200704151301(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -152,6 +152,7 @@ func Up20200724220450(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -23,6 +23,7 @@ func Up20200727144157(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
migrationsRan, err := getRanSQLMigrations(client)
|
||||
if err != nil {
|
||||
|
@@ -27,6 +27,7 @@ func Up20200728190804(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
namespaces, err := client.ListOnepanelEnabledNamespaces()
|
||||
if err != nil {
|
||||
@@ -65,6 +66,7 @@ func Down20200728190804(tx *sql.Tx) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer client.DB.Close()
|
||||
|
||||
return client.DeleteResourceLabels(tx, v1.TypeWorkflowTemplate)
|
||||
}
|
||||
|
@@ -44,7 +44,11 @@ func Initialize() {
|
||||
initialize20200704151301()
|
||||
initialize20200724220450()
|
||||
initialize20200727144157()
|
||||
initialize20200728190804()
|
||||
initialize20200728190804()
|
||||
|
||||
if err := client.DB.Close(); err != nil {
|
||||
log.Printf("[error] closing db %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func getClient() (*v1.Client, error) {
|
||||
|
5
main.go
5
main.go
@@ -77,12 +77,14 @@ func main() {
|
||||
goose.SetTableName("goose_db_version")
|
||||
if err := goose.Run("up", db.DB, filepath.Join("db", "sql")); err != nil {
|
||||
log.Fatalf("Failed to run database sql migrations: %v", err)
|
||||
db.Close()
|
||||
}
|
||||
|
||||
goose.SetTableName("goose_db_go_version")
|
||||
migrations.Initialize()
|
||||
if err := goose.Run("up", db.DB, filepath.Join("db", "go")); err != nil {
|
||||
log.Fatalf("Failed to run database go migrations: %v", err)
|
||||
db.Close()
|
||||
}
|
||||
|
||||
s := startRPCServer(v1.NewDB(db), kubeConfig, sysConfig, stopCh)
|
||||
@@ -90,6 +92,9 @@ func main() {
|
||||
<-stopCh
|
||||
|
||||
s.Stop()
|
||||
if err := db.Close(); err != nil {
|
||||
log.Printf("[error] closing db connection")
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
|
Reference in New Issue
Block a user