From 1dbe364b7c9d348491b018778ea6e10904fc7491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ege=20G=C3=BCne=C5=9F?= Date: Thu, 7 Nov 2024 15:23:42 +0300 Subject: [PATCH] remove some workarounds for PBM --- .../perconaservermongodbrestore/validate.go | 14 ----------- pkg/psmdb/backup/pbm.go | 24 ++++--------------- 2 files changed, 5 insertions(+), 33 deletions(-) diff --git a/pkg/controller/perconaservermongodbrestore/validate.go b/pkg/controller/perconaservermongodbrestore/validate.go index 7d5fc3e715..00566b5964 100644 --- a/pkg/controller/perconaservermongodbrestore/validate.go +++ b/pkg/controller/perconaservermongodbrestore/validate.go @@ -28,20 +28,6 @@ func (r *ReconcilePerconaServerMongoDBRestore) validate(ctx context.Context, cr return errors.Wrap(err, "get backup") } - // TODO: remove this if statement after https://perconadev.atlassian.net/browse/PBM-1360 is fixed - if bcp.Status.Type != defs.PhysicalBackup { - cjobs, err := backup.HasActiveJobs(ctx, r.newPBMFunc, r.client, cluster, backup.NewRestoreJob(cr), backup.NotPITRLock) - if err != nil { - return errors.Wrap(err, "check for concurrent jobs") - } - if cjobs { - if cr.Status.State != psmdbv1.RestoreStateWaiting { - log.Info("waiting to finish another backup/restore.") - } - return errWaitingRestore - } - } - if bcp.Status.Type != defs.LogicalBackup && cr.Spec.Selective != nil { return errors.New("`.spec.selective` field is supported only for logical backups") } diff --git a/pkg/psmdb/backup/pbm.go b/pkg/psmdb/backup/pbm.go index a34307242a..88d01c80a2 100644 --- a/pkg/psmdb/backup/pbm.go +++ b/pkg/psmdb/backup/pbm.go @@ -5,7 +5,6 @@ import ( "fmt" "net/url" "os" - "path" "strings" "time" @@ -23,7 +22,6 @@ import ( "github.com/percona/percona-backup-mongodb/pbm/config" "github.com/percona/percona-backup-mongodb/pbm/connect" "github.com/percona/percona-backup-mongodb/pbm/ctrl" - "github.com/percona/percona-backup-mongodb/pbm/defs" "github.com/percona/percona-backup-mongodb/pbm/lock" pbmLog "github.com/percona/percona-backup-mongodb/pbm/log" "github.com/percona/percona-backup-mongodb/pbm/oplog" @@ -399,31 +397,19 @@ func (b *pbmC) ValidateBackup(ctx context.Context, bcp *psmdbv1.PerconaServerMon } e := b.Logger().NewEvent(string(ctrl.CmdRestore), "", "", primitive.Timestamp{}) - backupName := bcp.Status.PBMname stg, err := util.StorageFromConfig(&cfg.Storage, e) if err != nil { return errors.Wrap(err, "storage from config") } + + backupName := bcp.Status.PBMname m, err := restore.GetMetaFromStore(stg, backupName) if err != nil { return errors.Wrap(err, "get backup metadata from storage") } - switch bcp.Status.Type { - case "", defs.LogicalBackup: - if err := backup.CheckBackupFiles(ctx, stg, m.Name); err != nil { - return errors.Wrap(err, "check backup files") - } - case defs.PhysicalBackup: - for _, rs := range m.Replsets { - f := path.Join(m.Name, rs.Name) - files, err := stg.List(f, "") - if err != nil { - return errors.Wrapf(err, "failed to list backup files at %s", f) - } - if len(files) == 0 { - return errors.Wrap(err, "no physical backup files") - } - } + + if err := backup.CheckBackupFiles(ctx, stg, m.Name); err != nil { + return errors.Wrap(err, "check backup files") } return nil