From 885ae16278d152016b166c4e30f1394086fee46e Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Fri, 1 Oct 2021 08:27:31 +0300 Subject: [PATCH] fix(db): warn on missing docker id when migrating to db 31 (#5782) * fix(db): warn on missing docker id when migrating to db 31 * fix(db): guard against nil exception --- api/bolt/migrator/migrate_dbversion31.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/api/bolt/migrator/migrate_dbversion31.go b/api/bolt/migrator/migrate_dbversion31.go index 8086dfc40..55555096d 100644 --- a/api/bolt/migrator/migrate_dbversion31.go +++ b/api/bolt/migrator/migrate_dbversion31.go @@ -176,7 +176,8 @@ func (m *Migrator) updateVolumeResourceControlToDB32() error { endpointDockerID, err := snapshotutils.FetchDockerID(snapshot) if err != nil { - return fmt.Errorf("failed fetching environment docker id: %w", err) + log.Printf("[WARN] [bolt,migrator,v31] [message: failed fetching environment docker id] [err: %s]", err) + continue } if volumesData, done := snapshot.SnapshotRaw.Volumes.(map[string]interface{}); done { @@ -213,7 +214,11 @@ func findResourcesToUpdateForDB32(dockerID string, volumesData map[string]interf volumes := volumesData["Volumes"].([]interface{}) for _, volumeMeta := range volumes { volume := volumeMeta.(map[string]interface{}) - volumeName := volume["Name"].(string) + volumeName, nameExist := volume["Name"].(string) + if !nameExist { + continue + } + oldResourceID := fmt.Sprintf("%s%s", volumeName, volume["CreatedAt"].(string)) resourceControl, ok := volumeResourceControls[oldResourceID]