-
Notifications
You must be signed in to change notification settings - Fork 25
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
[python] Retain GIL for exist
#2801
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the rationale for reverting the GIL release on DataFrame.count
? We support the same operation with a GIL release on NDArray, without issue. And this is a win we can land, while we sort out the issues with open/exists.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2801 +/- ##
==========================================
+ Coverage 89.84% 90.02% +0.17%
==========================================
Files 37 37
Lines 3930 3930
==========================================
+ Hits 3531 3538 +7
+ Misses 399 392 -7
Flags with carried forward coverage won't be shown. Click here to find out more.
|
4e74297
to
9d53f7e
Compare
count
, exist
, and open
(#2733)"exist
Edit: failures mentioned previously are reproducible on 3.12, but we don't actually support 3.12 yet, so disregard!I'm seeing test failures in (ubuntu,3.12) in my own GHA tests of this branch. I'm actually not sure which of the commits from this branch it checked out, just started another run that runs a
So far I'm not seeing segfaults with this PR, from some extra stress-testing (example) |
@bkmartinjr are you concerns allayed, or do you think there's more to do here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reverting open/exists seems smart until we further diagnose the crashes. Long term, we need to release the GIL on as many operations as is possible, so I advocate for leaving open a tracking issue.
@bkmartinjr we are on the same page 😎 |
This continues to partially revert commit 72a4e20 in conjuction with #2800. We are now only retaining releasing the GIL for
SOMADataFrame::count
.Due to multiple reports of intermittent segfaults internally and externally,
SOMAArray::exists
should also be reverted until we have a better way to identify and test releasing the GIL in the pybind11 code. I tested this revert fixed my itermittent segfaults locally by runningmake test
6 times. Previously, I could get a segfault to occur with 3make test
runs.