redis-rb
redis-rb copied to clipboard
Got `Uncaught exception: Broken pipe` trying to upload 4mb JSON data for SSL enabled encrypted redis instance.
Infra
- AWS Redis instance with AUTH, encryption at rest, encryption in transit enabled.
Data
- Any JSON upto 4mb in size.
Steps to reproduce
require 'redis'
require 'json'
connectionString = "rediss://<redis_url>:6379"
redis = Redis.new(url: connectionString, password: "password", ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE }, timeout: 60000)
file = File.open "./file.json"
data = JSON.load file
redis.set("abcd", data.to_json)
Error
Uncaught exception: Broken pipe
org/jruby/ext/openssl/SSLSocket.java:960:in "syswrite_nonblock"
/Users/aggarwad/.rvm/rubies/jruby-9.2.9.0/lib/ruby/stdlib/jopenssl23/openssl/buffering.rb:383:in "write_nonblock"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/connection/ruby.rb:73:in "_write_to_socket"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/connection/ruby.rb:97:in "block in write"
org/jruby/RubyKernel.java:1446:in "loop"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/connection/ruby.rb:96:in "write"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/connection/ruby.rb:369:in "write"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:284:in "block in write"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:263:in "io"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:282:in "write"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:240:in "block in process"
org/jruby/RubyArray.java:1814:in "each"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:234:in "block in process"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:384:in "ensure_connected"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:233:in "block in process"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:320:in "logging"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:232:in "process"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis/client.rb:126:in "call"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis.rb:848:in "block in set"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis.rb:69:in "block in synchronize"
/Users/aggarwad/.rvm/rubies/jruby-9.2.9.0/lib/ruby/stdlib/monitor.rb:235:in "mon_synchronize"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis.rb:69:in "synchronize"
/Users/aggarwad/.rvm/gems/jruby-9.2.9.0/gems/redis-4.2.1/lib/redis.rb:844:in "set"
/Users/aggarwad/workspace/ruby-playground/redis-en.rb:13:in "<main>"
org/jruby/debug/RubyDebugger.java:209:in "debug_load"
Process finished with exit code 0