Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
labels: mergeable
Fixes: EPD-1022
Motivation and Context
There is quite a complex issue with OOM, best seen in e2e tests of the main repo.
For this to be fixed, we need to be able to stop polling manually via the EppoSDKClient.
Description
After adding eppo sdk client to api e2e tests in main repo (in this PR)
we started to hit OOM error (while running jest, locally or in GH Actions).
After some research I found out that eppo sdk is causing this issue.
My logic here is:
setTimeout
calls.Also, I saw the issue in this GH action: https://github.com/Eppo-exp/eppo/actions/runs/4043339513/jobs/6952139426
even if this does not lead to OOM issue itself, it prevents Jest from exiting. (Jest has an issue with OOM, which I fixed in the PR (ADD LINK TO PR HERE)
Also, please note that recursive
setTimeout
itself is OOM-prone, so if it was not for the jitter, I would replace it with setInterval.@leoromanovsky @chasdevs maybe we can have another condition to stop the recursion?
How has this been tested?
Manually and via tests