-
Notifications
You must be signed in to change notification settings - Fork 128
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
Recurly::Errors::SSLError: SSL_read: unexpected eof while reading #893
Comments
I threw together this simple script and it ran successfully inside of the Script: require 'recurly'
client = Recurly::Client.new(api_key: ENV['RECURLY_API_KEY'])
sites = client.list_sites
sites.each do |site|
puts "Site: #{site.mode}"
end Execution:
|
The error happens intermittently and not often. The behavior is very like this: redis/redis-rb#1106. I will debug on this more, but so far everything points to this gem where it uses persistent HTTP connections, but it does not gracefully handle those SSL EOF while reading errors. Note that between bullseye and bookworm, OpenSSL is upraded from 1.1.1 to 3.0.9. |
@douglasmiller we still experience that issue. The issue seems to be this: openssl/openssl#22690. I couldn't reproduce this via a script yet. It happens regularly on a clustered puma prod app, but we managed to overcome the error by patching the keep_alive_timeout in gem's connection pool:
My assumption is that Recurly server does not close connections properly in certain conditions. By setting a lower keep alive the client will close connection before the server may get that chance. |
@douglasmiller The issue still persists. Did you try to reproduce it? You should use a client instance and try to requests spanned over a couple of minutes. |
Intermittent SSL Error is occurring when requesting Recurly service. Stack trace:
Note: Some trace lines were removed due to sec policies.
This started once we upgraded the base docker image from ruby:3.3.0-slim-bullseye to ruby:3.3.0-slim-bookworm.
Your Environment
The text was updated successfully, but these errors were encountered: