-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Have all drivers' poll method ignore out of memory errors #9178
base: main
Are you sure you want to change the base?
Conversation
fa25a08
to
c38e770
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9178 +/- ##
==========================================
- Coverage 90.75% 90.74% -0.02%
==========================================
Files 352 352
Lines 21934 21952 +18
==========================================
+ Hits 19906 19920 +14
- Misses 2028 2032 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
This commit makes it so that an OSError with the message `Cannot allocate memory` in all drivers' poll subprocess in the `driver.poll`-method are ignored. This is applicable for all drivers except for local, which does not poll.
c38e770
to
efbf94f
Compare
This would have to be tested out in fairly real world conditions before we merge. The danger is that you cascade in to a worse problem by ignoring a "Cannot allocate memory". There might not be enough memory left to perform any subsequent operations, and so you may make things worse by ignoring it. There are ways of working around such issues by e.g. sleeping at the right time, but we have to be 1) sure that the problem can be replicated. 2) see that this behavior is better, 3) tweak behavior to get it as reliable as possible. You can look into using cgroups to restrict the amount of memory available for the ert process in order to reproduce the behavior: https://unix.stackexchange.com/questions/44985/limit-memory-usage-for-a-single-linux-process Also, I think further discussion and investigation of the issue is needed: #8976 (comment) . |
Issue
Resolves #8976
Approach
This commit makes it so that an OSError with the message
Cannot allocate memory
in all drivers' poll subprocess in thedriver.poll
-method are ignored. This is applicable for all driversexcept for local, which does not poll.
git rebase -i main --exec 'pytest tests/ert/unit_tests -n logical -m "not integration_test"'
)When applicable