Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
0.8, 0.9
-
None
-
jruby 1.6.7 and 1.6.8
-
Patch Available
Description
Under JRuby any thrift socket that doesn't connect immediately will result in a connection timeout.
Under MRI IO.select returns an array of IO objects.
Under JRuby IO.select returns nil, even when an object is ready.
Connections to a cassandra instance on localhost will usually be successful, as socket.connect_nonblock actually connects synchronously.
The following code fails with no pause under JRuby (but works under MRI) when connecting to a remote cassandra cluster:
Thrift::Socket.new(remote_server, 9160, 10).open