fix: issue where db connections were not being closed in go migrations or when configmap changes were detected

This commit is contained in:
Andrey Melnikov
2020-07-29 17:43:40 -07:00
parent 8ca18d5fc5
commit 7e41f5e538
12 changed files with 21 additions and 1 deletions

View File

@@ -40,6 +40,7 @@ func main() {
dbDriverName, dbDataSourceName := config.DatabaseConnection()
db := sqlx.MustConnect(dbDriverName, dbDataSourceName)
defer db.Close()
command := args[0]

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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)
}

View File

@@ -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) {

View File

@@ -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")
}
}
}()