You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hiroshi Ikeda (JIRA)" <ji...@apache.org> on 2012/10/19 08:44:03 UTC

[jira] [Created] (HBASE-7013) Avoid reusing a input stream that stumbles on rpc-timeout in HBaseClient

Hiroshi Ikeda created HBASE-7013:
------------------------------------

             Summary: Avoid reusing a input stream that stumbles on rpc-timeout in HBaseClient
                 Key: HBASE-7013
                 URL: https://issues.apache.org/jira/browse/HBASE-7013
             Project: HBase
          Issue Type: Bug
          Components: Client
            Reporter: Hiroshi Ikeda


HBASE-2937 introduces rpc-timeout and sets SO_TIMEOUT parameter of the socket to throw SocketTimeoutException. That means the exception can be thrown from any code that reads data directly/indirectly from the socket. If the exception is thrown in the middle of reading a set of data, it is required to drag out and drop the rest part of the set of data from the socket and make ready to read the next data, in order to reuse the socket. It seems difficult, and I can't find such recovering code in HBaseClient.

I think, when IO streams wrapping the socket throw an exception, the nesting connection instance should be discarded, and rpc-timeout should be handled separately from SO_TIMEOUT parameter.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira