diff --git a/pkg/extensions/sync/on_demand.go b/pkg/extensions/sync/on_demand.go index 9ef2cd1d..f408a46b 100644 --- a/pkg/extensions/sync/on_demand.go +++ b/pkg/extensions/sync/on_demand.go @@ -131,6 +131,7 @@ func (onDemand *BaseOnDemand) syncReferrers(repo, subjectDigestStr string, if errors.Is(err, zerr.ErrManifestNotFound) || errors.Is(err, zerr.ErrSyncImageFilteredOut) || errors.Is(err, zerr.ErrSyncImageNotSigned) || + errors.Is(err, zerr.ErrRepoNotFound) || // some public registries may return 401 for not found. errors.Is(err, zerr.ErrUnauthorizedAccess) { continue @@ -208,6 +209,7 @@ func (onDemand *BaseOnDemand) syncImage(repo, reference string, syncResult chan if errors.Is(err, zerr.ErrManifestNotFound) || errors.Is(err, zerr.ErrSyncImageFilteredOut) || errors.Is(err, zerr.ErrSyncImageNotSigned) || + errors.Is(err, zerr.ErrRepoNotFound) || // some public registries may return 401 for not found. errors.Is(err, zerr.ErrUnauthorizedAccess) { continue diff --git a/pkg/extensions/sync/service.go b/pkg/extensions/sync/service.go index d61e7846..0d109190 100644 --- a/pkg/extensions/sync/service.go +++ b/pkg/extensions/sync/service.go @@ -438,8 +438,10 @@ func (service *BaseService) SyncRepo(ctx context.Context, repo string) error { if errors.Is(err, zerr.ErrSyncImageNotSigned) || errors.Is(err, zerr.ErrUnauthorizedAccess) || errors.Is(err, zerr.ErrMediaTypeNotSupported) || - errors.Is(err, zerr.ErrManifestNotFound) { - // skip unsigned images or unsupported image mediatype + errors.Is(err, zerr.ErrManifestNotFound) || + errors.Is(err, zerr.ErrRepoNotFound) { + // skip unsigned images, unsupported image mediatype, or temp sync dir issues + // ErrRepoNotFound from temp sync dir is skippable since each tag uses a different temp directory continue } @@ -645,6 +647,8 @@ func (service *BaseService) syncImage(ctx context.Context, localRepo, remoteRepo if err != nil { service.log.Error().Str("errorType", common.TypeOf(err)).Str("repo", localRepo). Err(err).Msg("failed to commit image") + + return err } service.log.Info().Str("repo", localRepo).Str("reference", tag).Msg("successfully synced image")