Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Potential memory leak in version 0.8.1 causing high resource usage #634

@peters5

Description

@peters5

Describe the bug
We have observed a significant memory usage increase in version 0.8.1 of helm-unittest compared to version 0.8.0. In our chart we include the kube-prometheus-stack chart as a dependency and we have many tests around this subchart.

When executing tests the memory of the unittest process keeps increasing (to around 13 GB in our large test suite) constantly until the tests are finished. This behavior can be observed in all charts/tests, however more significant of course with bigger charts / test suites.

We use the Docker image (helmunittest/helm-unittest:3.17.2-0.8.1) to execute the tests. The problem exists when running on Linux build pipeline agents, local Docker runs, but also when using the helm-unittest plugin directly on macOS with Apple Silicon.

Previous versions (<= 0.8.0) always keep a fairly low constant memory usage that does not increase over time with each executed test.

To Reproduce
Steps to reproduce the behavior:

  1. Preferably have a big chart with a large test suite
  2. Execute the tests with helm-unittest 0.8.1
  3. Watch the resource consumption of the process and notice the constant memory increase

Expected behavior
Constant low memory usage during test run as happening with all previous versions of helm-unittest (e.g. 0.8.0).

Screenshots

  1. Execute tests with latest version Docker image helmunittest/helm-unittest:3.17.2-0.8.1:
# Docker stats
CONTAINER ID   NAME                       CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O     PIDS
069cddea2407   prometheus-helm-unittest   100.12%   13.29GiB / 19.56GiB   67.95%    1.05kB / 0B   28.6MB / 0B   

# Chart test output
Charts:      1 passed, 1 total
Test Suites: 37 passed, 37 total
Tests:       548 passed, 548 total
Snapshot:    522 passed, 522 total
Time:        3m7.030762053s
  1. Execute tests with older version Docker image helmunittest/helm-unittest:3.17.2-0.8.0:
# Docker stats
CONTAINER ID   NAME                       CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O    PIDS
c06769cf326f   prometheus-helm-unittest   104.86%   168.4MiB / 19.56GiB   0.84%     1.05kB / 0B   102MB / 0B   27

# Chart test output
Charts:      1 passed, 1 total
Test Suites: 37 passed, 37 total
Tests:       548 passed, 548 total
Snapshot:    522 passed, 522 total
Time:        2m28.91946257s

Desktop (please complete the following information):

  • OS: Linux (Docker) + macOS
  • Plugin Version: 0.8.1

Additional context
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions