Closed vdemeester closed 5 months ago
/assign @vdemeester /assign @JeromeJu
/assign @concaf spoke with @vdemeester offline to collaborate on this 😇
👋🏼 something to keep in mind is that https://github.com/tektoncd/pipeline/pull/6968 mitigates this issue to an extent, however due to annotations size limit (all annotations keys and values added together) of 256 kB, we cannot guarantee that compression will fix this entirely.
how do we want to move forward in this case? should we explore storing this somewhere else other than annotations?
cc @tektoncd/core-maintainers
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
with a justification.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen
with a justification.
/lifecycle stale
Send feedback to tektoncd/plumbing.
I am going to go ahead and close this. 0.44.x is an old version, and the issue discussed shouldn't arise anymore.
Expected Behavior
Using pipeline 0.44 and
embedded-status
set toboth
orfull
, it should be possible to listPipelineRun
withv1
and not runing into issues.Actual Behavior
Depending on the size of the
PipelineRun
(and mainlytaskruns.status
), it can/will fail.This shows it fail using
tkn
(which usesv1
API in that case) but it would fail usingkubectl get
as well, as the problem is happening in the conversion webhook.Steps to Reproduce the Problem
v0.44.x
and setembedded-status
toboth
(orfull
)kubectl get pipelinerun my-pipelinerun
to see it failkubectl get pipelinerun.v1beta1.tekton.dev my-pipelinerun
would succeedAdditional Info
Any that runs Pipeline 0.44.x
Reasons and possible solutions
This happens because we are using annotations to convert from
v1beta1
tov1
for fields that do not exists. We can run into a case where the size of the field "marshalled" in that annotation will be too big to be "stored" in an annotation.Possible fix: compress and encode in base64 the marshalled field in the annotations to make them take less places. It should be "fine" to not support the current way as, the source-of-truth (aka the store version) is
v1beta1
and still has the field./cc @JeromeJu @lbernick