-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
it contains Tasks that don't exist: Couldn't retrieve Task "" #6408
Comments
Yes, this is a bug. The relevant code is here: pipeline/pkg/resolution/resource/crd_resource.go Lines 51 to 61 in a088215
I think we can ignore the already exists error and wait for the next reconciliation. Such as: func (r *CRDRequester) Submit(ctx context.Context, resolver ResolverName, req Request) (ResolvedResource, error) {
rr, err := r.lister.ResolutionRequests(req.Namespace()).Get(req.Name())
if rr == nil {
if err := r.createResolutionRequest(ctx, resolver, req); err != nil && !apierrors.IsAlreadyExists(err) {
return nil, err
}
return nil, resolutioncommon.ErrorRequestInProgress
} In my environment, fixing it this way can avoid that error. Not sure if there will be any other issues. |
fix tektoncd#6408 When submitting quickly, the creation may fail because the cache is not updated. We can assume that is in progress, and the next reconcile will handle it based on the actual situation.
fix tektoncd#6408 When submitting quickly, the creation may fail because the cache is not updated. We can assume that is in progress, and the next reconcile will handle it based on the actual situation.
fix tektoncd#6408 When submitting quickly, the creation may fail because the cache is not updated. We can assume that is in progress, and the next reconcile will handle it based on the actual situation.
Thank |
fix tektoncd#6408 When submitting quickly, the creation may fail because the cache is not updated. We can assume that is in progress, and the next reconcile will handle it based on the actual situation.
fix tektoncd#6408 When submitting quickly, the creation may fail because the cache is not updated. We can assume that is in progress, and the next reconcile will handle it based on the actual situation.
fix tektoncd#6408 When the time interval between two reconciliations of the owner (TaskRun, PipelineRun) of a ResolutionRequest is short, it may cause the second reconciliation to fail when triggering a Submit because the informer cache may not have been updated yet. In this case, we can assume that it is in progress, and the next reconciliation will handle it based on the actual situation.
fix #6408 When the time interval between two reconciliations of the owner (TaskRun, PipelineRun) of a ResolutionRequest is short, it may cause the second reconciliation to fail when triggering a Submit because the informer cache may not have been updated yet. In this case, we can assume that it is in progress, and the next reconciliation will handle it based on the actual situation.
Expected Behavior
Expect pipelinerun to run normally
Actual Behavior
Running again is normal, and this error occasionally occurs.
Discover through webhook logs. Creating a resolutionrequest normally will result in three
"knative.dev/operation":"CREATE"
records. But thecluster-564cb716f353f3b29acf2eeae11d0d07
has six recordsresolutionrequests (There are usually three records, but an error occurs when the second record is created)
pipelinerun.status content
Additional Info
v0.41.0
The text was updated successfully, but these errors were encountered: