{"record":{"id":"3c495ab2323d3cb9","repo":"goharbor/harbor","slug":"no-job-in-the-queue-removed","errorCode":null,"errorMessage":"no job in the queue removed","messagePattern":"no job in the queue removed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/pkg/jobmonitor/redis.go","lineNumber":118,"sourceCode":"\t\t\t}\n\t\t\tif len(jobInfo.ID) > 0 {\n\t\t\t\tjobIDs = append(jobIDs, jobInfo.ID)\n\t\t\t}\n\t\t}\n\t}\n\n\tlog.Infof(\"updated %d tasks in pending status to stop\", len(jobIDs))\n\tret, err := redis.Int64(conn.Do(\"DEL\", redisKeyJobQueue))\n\tif err != nil {\n\t\treturn []string{}, err\n\t}\n\tgo func() {\n\t\t// the amount of jobIDs maybe large, so use goroutine to remove the job status tracking info\n\t\tr.removeJobStatusInRedis(ctx, jobIDs)\n\t}()\n\tif ret < 1 {\n\t\t// no job in queue removed\n\t\treturn []string{}, fmt.Errorf(\"no job in the queue removed\")\n\t}\n\tlog.Infof(\"deleted %d keys in waiting queue for %s\", ret, jobType)\n\tlog.Debugf(\"job id to be deleted %v\", jobIDs)\n\treturn jobIDs, nil\n}\n\n// removeJobStatusInRedis remove job status track information from redis, to avoid performance impact when the jobIDs is too large, use batch to remove\nfunc (r *redisClientImpl) removeJobStatusInRedis(_ context.Context, jobIDs []string) {\n\tconn := r.redisPool.Get()\n\tdefer conn.Close()\n\tfor _, id := range jobIDs {\n\t\tnamespace := fmt.Sprintf(\"{%s}\", r.namespace)\n\t\tredisKeyStatus := rds.KeyJobStats(namespace, id)\n\t\tlog.Debugf(\"delete job status info for job id:%v, key:%v\", id, redisKeyStatus)\n\t\t_, err := conn.Do(\"DEL\", redisKeyStatus)\n\t\tif err != nil {\n\t\t\tlog.Warningf(\"failed to delete the job status info for job %v, %v, continue\", id, err)\n\t\t}","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/goharbor/harbor/blob/7b2fd08cc568955cca339afeefab27372840d936/src/pkg/jobmonitor/redis.go#L100-L136","documentation":"Error \"no job in the queue removed\" thrown in goharbor/harbor.","triggerScenarios":"Thrown at src/pkg/jobmonitor/redis.go:118 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"}