diff --git a/src/internal/operations/backup.go b/src/internal/operations/backup.go index 89dbb340d..92a8b93c6 100644 --- a/src/internal/operations/backup.go +++ b/src/internal/operations/backup.go @@ -205,10 +205,21 @@ func (op *BackupOperation) Run(ctx context.Context) (err error) { return opStats.writeErr } + opStats.gc = gc.AwaitStatus() + + if opStats.gc.ErrorCount > 0 { + opStats.writeErr = multierror.Append(nil, opStats.writeErr, errors.Errorf( + "%v errors reported while fetching item data", + opStats.gc.ErrorCount, + )).ErrorOrNil() + + // Need to exit before we set started to true else we'll report no errors. + return opStats.writeErr + } + // should always be 1, since backups are 1:1 with resourceOwners. opStats.resourceCount = 1 opStats.started = true - opStats.gc = gc.AwaitStatus() return err }