{"record":{"id":"f817709f342483c9","repo":"goharbor/harbor","slug":"the-artifact-is-not-ready-yet-failed-to-tag-it-to","errorCode":null,"errorMessage":"the artifact is not ready yet, failed to tag it to %v","messagePattern":"the artifact is not ready yet, failed to tag it to (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/controller/proxy/controller.go","lineNumber":119,"sourceCode":"\t// search the digest in cache and query with trimmed digest\n\tvar trimmedDigest string\n\terr := c.cache.Fetch(ctx, TrimmedManifestlist+art.Digest, &trimmedDigest)\n\tif errors.Is(err, cache.ErrNotFound) { // nolint:revive\n\t\t// skip to update digest, continue\n\t} else if err != nil {\n\t\t// for other error, return\n\t\treturn err\n\t} else {\n\t\t// found in redis, update the digest\n\t\tart.Digest = trimmedDigest\n\t\tlog.Debugf(\"Found trimmed digest: %v\", trimmedDigest)\n\t}\n\ta, err := c.local.GetManifest(ctx, art)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif a == nil {\n\t\treturn fmt.Errorf(\"the artifact is not ready yet, failed to tag it to %v\", tagName)\n\t}\n\ttagID, err := tag.Ctl.Ensure(ctx, a.RepositoryID, a.Artifact.ID, tagName)\n\tif err != nil {\n\t\treturn err\n\t}\n\t// update the pull time of tag for the first time cache\n\treturn tag.Ctl.Update(ctx, &tag.Tag{\n\t\tTag: model_tag.Tag{\n\t\t\tID:       tagID,\n\t\t\tPullTime: time.Now(),\n\t\t},\n\t}, \"PullTime\")\n}\n\nfunc (c *controller) UseLocalBlob(ctx context.Context, art lib.ArtifactInfo) bool {\n\tif len(art.Digest) == 0 {\n\t\treturn false\n\t}","sourceCodeStart":101,"sourceCodeEnd":137,"githubUrl":"https://github.com/goharbor/harbor/blob/7b2fd08cc568955cca339afeefab27372840d936/src/controller/proxy/controller.go#L101-L137","documentation":"Error \"the artifact is not ready yet, failed to tag it to %v\" thrown in goharbor/harbor.","triggerScenarios":"Thrown at src/controller/proxy/controller.go:119 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7b2fd08cc568955cca339afeefab27372840d936","analyzedAt":"2026-08-16T00:00:10.961Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}