jruby-openssl
jruby-openssl copied to clipboard
"read would block" when communicating with external APIs
Basic Info
- Faraday Version:
2.11.0 - Ruby Version:
jruby 9.4.8.0 (3.1.4) 2024-07-02 4d41e55a67 OpenJDK 64-Bit Server VM 21.0.4+7-LTS on 21.0.4+7-LTS +jit [x86_64-linux] - JRuby OpenSSL Version:
0.15.0
Issue description
We occasionally and intermittently face Faraday::SSLErrors with the message read would block when communicating with external endpoints. Our application is deployed as an ECS on EC2 service and (so far) we were unable to reproduce the issue locally or in our staging environment.
Steps to reproduce
Unfortunately, we haven't managed to reproduce the issue locally. There are certain requests to external APIs that fail very consistently, however.
We also ran into this problem, it seems like switching from TLS 1.3 to TLS 1.2 mitigates the issue at least sometimes.
@jpsikorra, when you say "sometimes", do you suggest that it doesn't occur anymore at all for some sites/endpoints (but still does for others) or that the overall rate is lower?
I don't see the issue with TLS 1.2, but cannot be 100% certain that it will never occur.
Also see https://github.com/jruby/jruby-openssl/issues/305
I can confirm that we had success with switching to TLS 1.2 for one external API as well
Bump this up in priority... seems more users have been seeing it lately with JRuby 9.4.12.0.
Has anyone managed to get an isolated reproduction of this issue?
I got the issue when using JRuby9.4.12.0, JRuby9.4.1.0 and JRuby9.2.21.0 with rest-client. But when I downgraded to JRuby9.2.20.0 then the issue disappeared. The issue only happens when calling APIs which take much time to process. I also compared jruby-openssl version which are using by JRuby versions:
- JRuby9.4.12.0 & jruby-openssl 0.15.0
- JRuby9.4.1.0 & jruby-openssl 0.14.1
- JRuby9.2.21.0 & jruby-openssl 0.12.2
- JRuby9.2.20.0 & jruby-openssl 0.11.0 (the jruby-openssl 0.11.0 didn't get the issue) I am not sure whether the issue relate to jruby-openssl. Currently I am using JRuby9.2.20.0 and It works fine.