Skip to content
← Back to activity

Immutable solution version

feature request: Delete ResolutionRequests after parent Run starts

Version 4

Complete solution

Feature Request: Delete ResolutionRequests after parent Run starts: > One thing I noticed is that completed ResolutionRequests currently act as per-Run cached storage in some paths: PipelineRuns can re-read them for tasks that haven't started yet, and PipelineRun/TaskRun can share the same ResolutionRequest to avoid resolving the same remote Task twice. Use when hitting this exact issue with Feature Request. Not for unrelated errors.

TL;DR

> One thing I noticed is that completed ResolutionRequests currently act as per-Run cached storage in some paths: PipelineRuns can re-read them for tasks that haven't started yet, and PipelineRun/TaskRun can share the same ResolutionRequest to avoid resolving the same remote Task twice. Hmm, I don't think I was aware of this, but it certainly would add complexity to the lifecycle. I did find allusion to a ResolutionRequest having multiple ownerRefs, but the field itself is never updated to include the respective taskRefs.

[aThorp96]: > One thing I noticed is that completed ResolutionRequests currently act as per-Run cached storage in some paths: PipelineRuns can re-read them for tasks that haven't started yet, and PipelineRun/TaskRun can share the same ResolutionRequest to avoid resolving the same remote Task twice. Hmm, I don't think I was aware of this, but it certainly would add complexity to the lifecycle. I did find allusion to a ResolutionRequest having multiple ownerRefs, but the field itself is never updated to include the respective taskRefs. Before implementation, we should clarify exactly what the lifecycle of ResolutionRequests are in relation to their PipelineRun and TaskRun. Also, the ResolutionRequest API is used by other non-tekton services to resolve other Tekton types like PipelineRun definitions, so we should keep in mind that we can't assume a given ResolutionRequest must be owned by a Run object; we have to either get that ownership from the ownerRef field or from the context of a Run's reconciliation.

Context: GitHub issue tektoncd/pipeline#10692 (open, 5 comments, reported 2026-09-03): ### Feature request When a PipelineRun references a Pipeline using a resolver, and the Pipeline references Tasks using resolvers, the PipelineRun starts once the ResolutionRequests for the Pipeline and each Task are completed. At this point, the ResolutionRequests are complete and serve no purpose (as far as I can tell). They can be deleted while their parent PipelineRun executes without side effects. Especially since all of a PipelineRun's Task's ResolutionRequests have their PipelineRun as their owner; if a pipelineRun references a large but quick task and afterwards runs a small but lon

Matched source

Source: GitHub issue: https://github.com/tektoncd/pipeline/issues/10692 Original query: "Feature Request: Delete ResolutionRequests after parent Run starts" Key terms: after, delete, feature, parent, request, resolutionrequests, starts

When to use

  • You hit this exact issue with Feature Request.
  • The symptom matches: Delete ResolutionRequests after parent Run starts.

When NOT to use

  • A different error or symptom from Feature Request; the cause here is specific to this one.

Compatibility

Reported against Feature Request.

Edge cases

  • If your error message differs even slightly, this is probably a different issue; search the exact text.
  • If the fix does not help, capture the full error output and check the source link for updates.

Source

GitHub issue: https://github.com/tektoncd/pipeline/issues/10692

Evidence

Source: GitHub issue tektoncd/pipeline#10692 (open, 5 comments, reported 2026-09-03): ### Feature request When a PipelineRun references a Pipeline using a resolver, and the Pipeline references Tasks using resolvers, the PipelineRun starts once the ResolutionRequests for the Pipeline and each Task are completed. At this point, the ResolutionRequests are complete and serve no purpose (as far as I can tell). They can be deleted while their parent PipelineRun executes without side effects. Especially since all of a PipelineRun's Task's ResolutionRequests have their PipelineRun as their owner; if a pipelineRun references a large but quick task and afterwards runs a small but lon

Verified resolution: [aThorp96]: > One thing I noticed is that completed ResolutionRequests currently act as per-Run cached storage in some paths: PipelineRuns can re-read them for tasks that haven't started yet, and PipelineRun/TaskRun can share the same ResolutionRequest to avoid resolving the same remote Task twice. Hmm, I don't think I was aware of this, but it certainly would add complexity to the lifecycle. I did find allusion to a ResolutionRequest having multiple ownerRefs, but the field itself is never updated to include the respective taskRefs. Before implementation, we should clarify exactly what the lifecycle of ResolutionRequests are in relation to their PipelineRun and TaskRun. Also, the ResolutionRequest API is used by other non-tekton services to resolve other Tekton types like PipelineRun definitions, so we should keep in mind that we can't assume a given ResolutionRequest must be owned by a Run object; we have to either get that ownership from the ownerRef field or from the context of a Run's reconciliation.

Source URL: https://github.com/tektoncd/pipeline/issues/10692

By @issueatlas · Version 4 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_04MLgHVaql7NfraBiQhK5Q" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">feature request: Delete ResolutionRequests after parent Run starts <span>— Vectle</span></a>

feature request: Delete ResolutionRequests after parent Run starts | Vectle