Chains under the load memory consumption raises

Aperta
#1,058 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
go, kubernetes
Ambito
devops, security

Direzione di ricerca

Inizia dallo scenario di performance collegato in pipeline.yaml, run.yaml e nel relativo README, quindi riproduci il carico di signing di 10k PipelineRun descritto qui. Esamina la issue 7691 correlata di tektoncd/pipeline e l’implementazione di Chains coinvolta nella firma. Il lavoro è completo quando viene identificato se la crescita della memoria è prevista o se è dovuta a una perdita, con un fix validato oppure prove chiare e copertura di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

kind/bug

Expected Behavior

I would expect after some time Chains under the load memory consumption would become constant - it will start freeing memory.

Is this expected, or is this some sort of memory leak?

Actual Behavior

This is a memory graph of a Chains signing 10k very simple TaskRuns with that are just printing "hello world" (Pipeline, PipelineRun)

CHains was started around 15:30 and started signing PRs and TRs:

image

Chains was configured with this:

kubectl patch TektonConfig/config \
            --type merge \
            -p '{"spec":{"chain":{"artifacts.pipelinerun.format": "slsa/v1"}}}'
kubectl patch TektonConfig/config \
            --type merge \
            -p '{"spec":{"chain":{"artifacts.pipelinerun.storage": "tekton"}}}'
kubectl patch TektonConfig/config \
            --type='merge' \
            -p='{"spec":{"chain":{"artifacts.taskrun.format": "slsa/v1"}}}'
kubectl patch TektonConfig/config \
            --type='merge' \
            -p='{"spec":{"chain":{"artifacts.taskrun.storage": "tekton"}}}'

Steps to Reproduce the Problem

  1. Run 10k PipelineRuns and wait for all of them to finish
  2. Then start the Chains and let it sign PRs and TRs
  3. This was automated in this repo with signing-tr-tekton-bigbang scenario

Additional Info

  • Kubernetes version:

Cluster is gone already, but it was ROSA OpenShift 4.14.11 with 5 compute nodes AWS EC2 m6a.2xlarge

  • Tekton Pipeline version:
  • chains-info: v0.19.0
  • pipelines-as-code-info: v0.22.4
  • pipelines-info: v0.53.2
  • triggers-info: v0.25.3
  • openshift-pipelines-operator-cluster-operations: v0.69.0
  • openshift-pipelines-operator-lifecycle: 1.13.0

Reported this together with https://github.com/tektoncd/pipeline/issues/7691

Lingua principale
Go
Stelle
279
Fork
171
Merge medio
2g 4h
PR unite (30g)
70

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di tektoncd/chains

Tutte le issue di tektoncd/chains

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.