You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Tianying Chang (JIRA)" <ji...@apache.org> on 2017/01/14 06:58:26 UTC

[jira] [Updated] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

     [ https://issues.apache.org/jira/browse/HBASE-17453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tianying Chang updated HBASE-17453:
-----------------------------------
    Description: 
Our HBase service is hosted in AWS. We saw cases where the connection between the client (Asynchbase in our case) and server stop working but did not throw any exception, therefore traffic stuck. So we added a "Ping" feature in AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, if no traffic for given time, we send the "Ping", if no response back for "Ping", we assume the connect is bad and reconnect. 

Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is deprecated. To be able to support same detect/reconnect feature, we added Ping() in our internal HBase 1.2 branch, and also patched accordingly in Asynchbase 1.7.

We would like to open source this feature since it is useful for use case in AWS environment. 


  was:
Our HBase service is hosted in AWS. We saw cases where the connection between the client (Asynchbase in our case) and server stop working but did not throw any exception, therefore traffic stuck. So we added a "Ping" feature in AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, if no traffic for given time, we send the "Ping", if no response back for "Ping", we assume the connect is bad and reconnect. 

Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is deprecated. To be able to support same detect/reconnect feature, we added Ping() in our internal HBase 1.2 branch, and also patched accordingly in Asynchbase 1.7.

We would like to open source this feature since it is useful for use case in AWS environment. 


We used GetProtocolVersion in AsyncHBase to detect unhealthy connection to RS since in AWS, sometimes it enters a state the connection 


> add Ping into HBase server for deprecated GetProtocolVersion
> ------------------------------------------------------------
>
>                 Key: HBASE-17453
>                 URL: https://issues.apache.org/jira/browse/HBASE-17453
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 1.2.2
>            Reporter: Tianying Chang
>            Assignee: Tianying Chang
>            Priority: Minor
>
> Our HBase service is hosted in AWS. We saw cases where the connection between the client (Asynchbase in our case) and server stop working but did not throw any exception, therefore traffic stuck. So we added a "Ping" feature in AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, if no traffic for given time, we send the "Ping", if no response back for "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is deprecated. To be able to support same detect/reconnect feature, we added Ping() in our internal HBase 1.2 branch, and also patched accordingly in Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)