Skip to content

Commit a8405e5

Browse files
authored
K8SPG-638: handle get latest backup errors (#1023)
https://perconadev.atlassian.net/browse/K8SPG-638
1 parent 7593bb1 commit a8405e5

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

percona/watcher/wal.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func WatchCommitTimestamps(ctx context.Context, cli client.Client, eventChan cha
6363

6464
latestBackup, err := getLatestBackup(ctx, cli, cr)
6565
if err != nil {
66-
if localCr.Status.State != pgv2.AppStateInit || (!errors.Is(err, errRunningBackup) && !errors.Is(err, errNoBackups)) {
66+
if !errors.Is(err, errRunningBackup) && !errors.Is(err, errNoBackups) {
6767
log.Error(err, "get latest backup")
6868
}
6969

@@ -117,7 +117,6 @@ func getLatestBackup(ctx context.Context, cli client.Client, cr *pgv2.PerconaPGC
117117
Namespace: cr.Namespace,
118118
FieldSelector: fields.SelectorFromSet(map[string]string{
119119
"spec.pgCluster": cr.Name,
120-
"status.state": string(pgv2.BackupSucceeded),
121120
}),
122121
})
123122
if err != nil {
@@ -132,9 +131,13 @@ func getLatestBackup(ctx context.Context, cli client.Client, cr *pgv2.PerconaPGC
132131
runningBackupExists := false
133132
for _, backup := range backupList.Items {
134133
backup := backup
135-
if latest.Status.CompletedAt == nil || backup.Status.CompletedAt.After(latest.Status.CompletedAt.Time) {
136-
latest = &backup
137-
} else if backup.Status.State == pgv2.BackupStarting || backup.Status.State == pgv2.BackupRunning {
134+
switch backup.Status.State {
135+
case pgv2.BackupSucceeded:
136+
if latest.Status.CompletedAt == nil || backup.Status.CompletedAt.After(latest.Status.CompletedAt.Time) {
137+
latest = &backup
138+
}
139+
case pgv2.BackupFailed:
140+
default:
138141
runningBackupExists = true
139142
}
140143
}

0 commit comments

Comments
 (0)