Hi Dave

No reason why we shouldn't check it. Could you please open a ticket? If you 
have a patch that would be great.

Thanks. 

Jake

 

On Sep 29, 2010, at 3:13 AM, Dave Viner <[email protected]> wrote:

> Hi all,
> 
> I'm using Thrift inside Cassandra, and I'm seeing conditions where I receive
> lots of these error messages:
> 
> problem running get_slice: $VAR1 = bless( {
>                 'code' => 0,
>                 'message' => 'TSocket: timed out reading 4 bytes from
> server-ip:9160'
>               }, 'Thrift::TException' );
> 
> get_slice is the cassandra call.  The TSocket exception is thrown from
> http://svn.apache.org/repos/asf/incubator/thrift/trunk/lib/perl/lib/Thrift/Socket.pm
> 
> The issue seems to be in the handling of read(), readAll(), and write().
> The code checks to see if the $self->{'handle'} variable (which is an
> IO::Select object) is defined.  However, it seems possible for an IO::Select
> object to be defined, but to have no handles that are valid or connected.
> It seems that the code could be a bit more robust in checking for a
> condition where the handle is not open, and throw a more explicit exception.
> Then it can check for data in the Exception handle.
> 
> I'm happy to create a patch for it, but before I do so, is there a reason
> why the code doesn't currently check for this error condition?
> 
> Thanks
> Dave Viner

Reply via email to