diff --git a/changelogs/unreleased/6086-Lyndon-Li b/changelogs/unreleased/6086-Lyndon-Li new file mode 100644 index 000000000..74a95bf90 --- /dev/null +++ b/changelogs/unreleased/6086-Lyndon-Li @@ -0,0 +1 @@ +Fix issue #5972, don't assume errorField as error type when dealing with logger.WithError \ No newline at end of file diff --git a/changelogs/unreleased/6135-ywk253100 b/changelogs/unreleased/6135-ywk253100 new file mode 100644 index 000000000..d002e335a --- /dev/null +++ b/changelogs/unreleased/6135-ywk253100 @@ -0,0 +1 @@ +Ignore not found error during patching managedFields \ No newline at end of file diff --git a/pkg/restore/restore.go b/pkg/restore/restore.go index 2f8d86325..00ee6ec9a 100644 --- a/pkg/restore/restore.go +++ b/pkg/restore/restore.go @@ -1434,10 +1434,13 @@ func (ctx *restoreContext) restoreItem(obj *unstructured.Unstructured, groupReso if patchBytes != nil { if _, err = resourceClient.Patch(name, patchBytes); err != nil { ctx.log.Errorf("error patch for managed fields %s: %v", kube.NamespaceAndName(obj), err) - errs.Add(namespace, err) - return warnings, errs + if !apierrors.IsNotFound(err) { + errs.Add(namespace, err) + return warnings, errs + } + } else { + ctx.log.Infof("the managed fields for %s is patched", kube.NamespaceAndName(obj)) } - ctx.log.Infof("the managed fields for %s is patched", kube.NamespaceAndName(obj)) } if groupResource == kuberesource.Pods { diff --git a/pkg/util/logging/log_counter_hook.go b/pkg/util/logging/log_counter_hook.go index a14b790f6..7ee37e660 100644 --- a/pkg/util/logging/log_counter_hook.go +++ b/pkg/util/logging/log_counter_hook.go @@ -71,7 +71,7 @@ func (h *LogHook) Fire(entry *logrus.Entry) error { entryMessage = fmt.Sprintf("%s name: /%s", entryMessage, nameField.(string)) } if isErrorFieldPresent { - entryMessage = fmt.Sprintf("%s error: /%s", entryMessage, errorField.(error).Error()) + entryMessage = fmt.Sprintf("%s error: /%v", entryMessage, errorField) } if isNamespacePresent {