redis-rb icon indicating copy to clipboard operation
redis-rb copied to clipboard

Got `Uncaught exception: Broken pipe` trying to upload 4mb JSON data for SSL enabled encrypted redis instance.

Open aditya0711 opened this issue 5 years ago • 0 comments

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

aditya0711 avatar Aug 28 '20 03:08 aditya0711