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
Use resolv-replace #1258
Comments
@mperham do you think this is something which |
I'm not sure. That blog post is ancient so it's unclear if this is still a problem with MRI. The GIL is still there so it's possible that calls into libc's DNS resolution don't release the GIL. I don't want to cargo cult so it'd be nice to have someone knowledgable chime in.
|
This comment implies that it's still a problem with MRI resque/resque#1101 (comment) |
I'm using google-adwords-api gem in my workers and since upgrade from previous version (2.11.2) to 2.16.0 I'm getting errors:
Any idea why? When I downgraded to 2.15.2 everything is working and for now I will stay with it. But I think that you might want to know. |
It's hard to diagnose without a backtrace. |
Backtrace returned by sidekiq in gist. |
FWIW, I was probably wrong about needing resolv-replace. Looks like rb_getaddrinfo() does resolution outside the GVL in ext/socket/raddrinfo.c. |
Got same issue
|
With the release of Sidekiq 2.16.1, the changes to resolve-replace have been reverted. If you are able to upgrade it should solve your issue. |
Yep done, thanks! |
Sidekiq should pull in resolv-replace so we don't risk locking up MRI.
Relevant blog post.
The text was updated successfully, but these errors were encountered: