Closed koreno closed 3 years ago
@koreno I will release a new version of gipc soon. Thanks for raising this issue. The preparational work was all done, tracked in https://github.com/jgehrcke/gipc/issues/86.
Is this going to be released as a new version soon?
Thanks for asking @ifiddes -- I'll look into this soon again. Most of the work was done in https://github.com/jgehrcke/gipc/pull/91 and I am not quite sure anymore why I hesitated releasing. Sorry for the delay!
Also see #101, about supporting gevent versions newer than 1.5.0.
@jgehrcke - any update? we're biting our fingernails!
Thanks for the ping @koreno. Is gevent 1.5.0 itself a big win for you? There are new challenges with gevent 20.x compatibility, 1.5.0 support is easier to do. A gipc version that supports gevent 1.5.0 but not 20.x would be a win for you -- yes?
@koreno as I am always curious about what people use gipc for: what's your use case (roughly, if you can talk about it!)? : ) (having a cool use case in mind is of course additional huge motivation for doing work!).
Sure! We're maintaining a large testing infrastructure for an enterprise storage system. We generally use a monkey-patched python-gevent environment, but some of our tests need to spawn a child process to perform the IOs, as part of some functions tests. Without gipc, these forked processes inherit various monitoring greenlets from the parent process, which is highly undesirable. It seems to inherit various file descriptors as well.
(In fact we're running into such an issue now, even with gipc, so I'm wondering if there's some rare edge-case or race-condition that allows it, or maybe this has to do with changes in python/gevent)
On Thu, Dec 10, 2020 at 4:01 PM Dr. Jan-Philip Gehrcke < notifications@github.com> wrote:
@koreno https://github.com/koreno as I am always curious about what people use gipc for: what's your use case? : ) (having a cool use case in mind is of course additional huge motivation for doing work!).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jgehrcke/gipc/issues/98#issuecomment-742538800, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABMCR7O4DFUBD46P7FVB6TSUDIEFANCNFSM4MTFAFHA .
Thank you for elaborating!
There's hope by the way that we can do gevent 20.x: https://github.com/gevent/gevent/pull/1728/files
(In fact we're running into such an issue now, even with gipc, so I'm wondering if there's some rare edge-case or race-condition that allows it, or maybe this has to do with changes in python/gevent)
With gevent 1.4.x? If you can repro with a minimal working example, I'd be happy to take a look. I also understand that it's always super tough to create a minimal working example. A lot of care and testing went into past gipc releases to prevent these things from happening, but I can only ever make statements about specific combinations of versions of course (gipc, CPython/PyPy, gevent)
Just released gipc 1.1.1, adding official support for gevent 1.5.0. https://pypi.org/project/gipc/1.1.1/ https://github.com/jgehrcke/gipc/blob/master/CHANGELOG.rst#version-111-jan-03-2021
Supporting gevent 20.x is a little more work.
Happy new year everyone! :balloon:
Thanks @jgehrcke ! I will test to upgrade the requirements in Ajenti.
@kiarn did things work out, did gipc 1.1.1 unblock you?
@jgehrcke : thanks for asking, and sorry for the late answer, I'm under heavy load.
I still have a problem with the signal handler I'm not able to solve, but I think it belongs to another discussion, I will open an issue for this, even if I'm not sure it's an issue. But all the rest is working fine, many thanks for your update.
Edit : I was writing the issue, and then I understood my dummy error ... The rubber duck debugging still has pretty future.
It has been out for a couple of weeks, and we're getting: