@@ -385,7 +385,6 @@ type migrateTracker struct {
385385 dryRun bool
386386
387387 found , ignored , unchanged , errors int
388- retries int
389388
390389 resourcesWithErrors sets.String
391390}
@@ -408,8 +407,7 @@ func (t *migrateTracker) report(prefix string, info *resource.Info, err error) {
408407// to retries times.
409408func (t * migrateTracker ) attempt (info * resource.Info , retries int ) {
410409 t .found ++
411- t .retries = retries
412- result , err := t .try (info )
410+ result , err := t .try (info , retries )
413411 switch {
414412 case err != nil :
415413 t .resourcesWithErrors .Insert (info .Mapping .Resource )
@@ -438,7 +436,7 @@ func (t *migrateTracker) attempt(info *resource.Info, retries int) {
438436
439437// try will mutate the info and attempt to save, recalculating if there are any retries left.
440438// The result of the attempt or an error will be returned.
441- func (t * migrateTracker ) try (info * resource.Info ) (attemptResult , error ) {
439+ func (t * migrateTracker ) try (info * resource.Info , retries int ) (attemptResult , error ) {
442440 reporter , err := t .migrateFn (info )
443441 if err != nil {
444442 return attemptResultError , err
@@ -455,11 +453,11 @@ func (t *migrateTracker) try(info *resource.Info) (attemptResult, error) {
455453 return attemptResultUnchanged , nil
456454 }
457455 if canRetry (err ) {
458- if t . retries > 0 {
456+ if retries > 0 {
459457 if bool (glog .V (1 )) && err != ErrRecalculate {
460458 t .report ("retry:" , info , err )
461459 }
462- result , err := t .try (info )
460+ result , err := t .try (info , retries - 1 )
463461 switch result {
464462 case attemptResultUnchanged , attemptResultIgnore :
465463 result = attemptResultSuccess
0 commit comments