goharbor/harbor · error

no job in the queue removed

Error message

no job in the queue removed

What it means

Error "no job in the queue removed" thrown in goharbor/harbor.

Source

Thrown at src/pkg/jobmonitor/redis.go:118

			}
			if len(jobInfo.ID) > 0 {
				jobIDs = append(jobIDs, jobInfo.ID)
			}
		}
	}

	log.Infof("updated %d tasks in pending status to stop", len(jobIDs))
	ret, err := redis.Int64(conn.Do("DEL", redisKeyJobQueue))
	if err != nil {
		return []string{}, err
	}
	go func() {
		// the amount of jobIDs maybe large, so use goroutine to remove the job status tracking info
		r.removeJobStatusInRedis(ctx, jobIDs)
	}()
	if ret < 1 {
		// no job in queue removed
		return []string{}, fmt.Errorf("no job in the queue removed")
	}
	log.Infof("deleted %d keys in waiting queue for %s", ret, jobType)
	log.Debugf("job id to be deleted %v", jobIDs)
	return jobIDs, nil
}

// removeJobStatusInRedis remove job status track information from redis, to avoid performance impact when the jobIDs is too large, use batch to remove
func (r *redisClientImpl) removeJobStatusInRedis(_ context.Context, jobIDs []string) {
	conn := r.redisPool.Get()
	defer conn.Close()
	for _, id := range jobIDs {
		namespace := fmt.Sprintf("{%s}", r.namespace)
		redisKeyStatus := rds.KeyJobStats(namespace, id)
		log.Debugf("delete job status info for job id:%v, key:%v", id, redisKeyStatus)
		_, err := conn.Do("DEL", redisKeyStatus)
		if err != nil {
			log.Warningf("failed to delete the job status info for job %v, %v, continue", id, err)
		}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/pkg/jobmonitor/redis.go:118 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/3c495ab2323d3cb9. Report an issue: GitHub.