Merge pull request #10138 from Jay2006sawant/fix/block-uploader-and-batchforget-errors

fix: return errors correctly in block restore validation and BatchForget
This commit is contained in:
Xun Jiang/Bruce Jiang
2026-08-11 11:25:06 +08:00
committed by GitHub
5 changed files with 88 additions and 4 deletions
+1 -1
View File
@@ -384,7 +384,7 @@ func (urp *unifiedRepoProvider) BatchForget(ctx context.Context, snapshotIDs []s
err = bkRepo.Flush(ctx)
if err != nil {
return []error{errors.Wrap(err, "error to flush repo")}
return append(errs, errors.Wrap(err, "error to flush repo"))
}
log.Debug("Forget snapshot complete")
@@ -1062,6 +1062,41 @@ func TestBatchForget(t *testing.T) {
},
expectedErr: []string{"error to flush repo: fake-error-4"},
},
{
name: "delete and flush fail",
getter: new(credmock.SecretStore),
credStoreReturn: "fake-password",
funcTable: localFuncTable{
getStorageVariables: func(*velerov1api.BackupStorageLocation, string, string, map[string]string, velerocredentials.CredentialGetter) (map[string]string, error) {
return map[string]string{}, nil
},
getStorageCredentials: func(*velerov1api.BackupStorageLocation, velerocredentials.FileStore) (map[string]string, error) {
return map[string]string{}, nil
},
},
repoService: new(reposervicenmocks.BackupRepoService),
backupRepo: new(reposervicenmocks.BackupRepo),
retFuncOpen: []any{
func(context.Context, udmrepo.RepoOptions) udmrepo.BackupRepo {
return backupRepo
},
func(context.Context, udmrepo.RepoOptions) error {
return nil
},
},
retFuncDelete: func(context.Context, udmrepo.ID) error {
return errors.New("fake-delete-error")
},
retFuncFlush: func(context.Context) error {
return errors.New("fake-flush-error")
},
snapshots: []string{"snapshot-1"},
expectedErr: []string{
"error to delete manifest snapshot-1: fake-delete-error",
"error to flush repo: fake-flush-error",
},
},
}
for _, tc := range testCases {